必须在这里丢失一些东西。我已经在环境中设置了vcvars64.bat,编译和链接几乎所有的库都很好,除了libcmt.lib。 (MSVCRT.lib的/ MT版本)这包含在32位VC 2010中,但我使用的是Platform SDK 7.1安装的amd64文件夹中的cl.exe和link.exe,所以我有不知道它为什么选择这个。VC 2010命令行x64拾取错误libcmt.lib
这里是我的命令行:
link.exe /DLL /nologo /INCREMENTAL:NO /LIBPATH:C:\dev\Python31\libs /LIBPATH:C:\dev\Python31\PCbuild\amd64 ws2_32.lib advapi32.lib kernel32.lib /EXPORT:PyInit_winrandom build\temp.win-amd64-3.3\Release\src/winrand.obj /OUT:build\lib.win-amd64-3.3\Crypto\Random\OSRNG\winrandom.pyd /IMPLIB:build\temp.win-amd64-3.3\Release\src\winrandom.lib /MANIFESTFILE:build\temp.win-amd64-3.3\Release\src\winrandom.pyd.manifest /VERBOSE
我已经试过:/nodefaultlib:libcmt
使得链接连看都不看那个库。 libcmt.lib /nodefaultlib:libcmt
以任何顺序只是重新激活相同的行为,但它仍然看起来只有老走错了路,在冗长的输出看出:
Searching [SDK]\lib\x64\ws2_32.lib:
Searching [SDK]\lib\x64\advapi32.lib:
Searching [SDK]\lib\x64\kernel32.lib:
Searching [VS]\VC\LIB\libcmt.lib:
我的道路上没有任何lib文件夹,并%LIB%是“[SDK] \ lib \ x64; [VS] \ VC \ LIB”(全路径省略)。
我不知道为什么这个lib首先在错误的路径上搜索,有谁知道?
我不敢相信我做到了;我要指责它熬夜太晚了。我可能应该已经在网上阻止了一个.bat,但它看起来很简单。可悲的是,SDK编译器安装程序不包含这些文件。谢谢。 – SilverbackNet