在cl.exe

时间:2017-09-10 16:21:10

标签: windows cl

我正在尝试构建WolfSSL,它使用Windows API的CryptAcquireContext功能。我正在尝试使用'cl.exe'来构建它。我不想使用'nmake.exe'或'MSBuild.exe',只是简单的'cl.exe'。

如果我使用Visual Studio进行构建,我可以在'vcxproj'文件中设置<PlatformToolset>v120</PlatformToolset>参数,该文件定义平台工具集版本。使用此选项集,Visual Studio可以无错误地编译和链接代码。

如果我尝试编译并链接'cl.exe',我收到以下消息:

error LNK2019: unresolved external symbol __imp__CryptAcquireContextA@20

由于Visual Studio成功,问题不是由缺少SDK引起的。

“cl.exe”的documentation不包含有关平台工具集的任何信息。我按照建议here尝试添加/p:PlatformToolset=v120,但似乎只有MSBuild接受此选项。

虽然对我的问题的描述很长,但我的问题很简单。如何为'cl.exe'定义平台工具集?

- 编辑 -

Advapi32.lib选项后添加\link修复了链接问题。

但这是否意味着我必须指示链接器使用我使用的每个本机Windows“.lib”文件?我不需要为标准库执行此操作。有没有办法强制cl自动包含所有本机Windows“.lib”文件,就像使用标准库一样?

0 个答案:

没有答案
相关问题