ここで私が見逃しているものがあるに違いありません。vcvars64.bat を適切な環境でセットアップしました。libcmt.lib を除いて、ほぼすべてのライブラリのコンパイルとリンクがうまく機能します。(MSVCRT.lib の /MT バージョン。) これは 32 ビット VC 2010 に含まれていますが、私は Platform SDK 7.1 と共にインストールされた amd64 フォルダーから cl.exe と link.exe を使用しているので、なぜこれを取り上げているのかわかりません。
これが私のコマンドラインです:
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" (フル パスは省略) です。
この1つのライブラリが最初に間違ったパスで検索されている理由がわかりません。誰か知っていますか?