环境
下载安装Visual Studio 2019 安装时在【工作负载】必须勾选【使用C++的桌面开发】
下载cyrus-sasl源码 从Github 上clone或者下载zip包,我本来是需要2.1.26,但是从从https://www.cyrusimap.org/releases/ 下载对应版本的源码包编译都有问题,因此直接从Github下载2.1 分支的包,解压到C:\ ,并重命名C:\cyrus-sasl-2.1
Python3.7环境(可选) 我编译sasl是因为在windows使用python的sasl模块时有问题,因此通过python的sasl模块来调试生成的lib和dll是否可用(当然也可以直接通过sasl自带的client和server或者其他调用软件进行调试)。从官网下载安装python3.7即可。
编译
打开编译控制台 编译32位的,因此在开始菜单的Visual Studio 2019目录下选择【x86 Native Tools Command Prompt for VS 2019】;编译64位的就选择【x64 Native Tools Command Prompt for VS 2019】。下面先编译32位的,再编译64位的
编译32位 直接进入源码的lib目录
C:\cyrus-sasl-2.1\lib>nmake /f ntmakefile prefix=C:\sasl STATIC=no
...
windlopen.obj : error LNK2001: 无法解析的外部符号 _anonymous_server_plug_i