Visual Studio 2008 を使用して、依存関係が豊富なかなり大規模で複雑なプログラムを構築しています。Windows テスト システムで 64 ビット ビルドを実行すると、SxS 問題に関する警告の実行に失敗します。
少し調べてみたところ、マニフェスト ファイルに含まれていることがわかりました。
<dependentAssembly>
<assemblyIdentity type='win32' name='Microsoft.VC90.DebugCRT' version='9.0.21022.8' processorArchitecture='amd64' publicKeyToken='1fc8b3b9a1e18e3b' />
</dependentAssembly>
ビルドログに目を通し、プロジェクトをリンクして/VERBOSE:LIB
確認しました
1>LINK : warning LNK4098: defaultlib 'MSVCRTD' conflicts with use of other libs; use /NODEFAULTLIB:library
...
1>Searching libraries
...
1> Searching c:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\lib\amd64\MSVCRTD.lib:
すべての .obj ファイルを実行dumpbin /DIRECTIVES
しましたが、msvcrtd.lib への参照がありません。
これはリリース ビルドです。MSVCRTD にリンクしようとしているのはなぜですか?
msvcrtd からリンクされた関数のテーブルを生成する方法はありますか?
ありがとう