Win7開発マシンにVS2005、VS2008、およびVS2010をインストールしています。EXEプロジェクトがVS2010によってビルドされたときにLoadLibrary()呼び出し中に例外を取得するサードパーティのDLLを使用する特定のプロジェクトがあります(v100またはv90ツールセットのいずれかを対象としている場合)。VS2005またはVS2008によって直接ビルドされた場合は完全に機能します。 。
Li Shao(Microsoftの)2009年のブログエントリによると:
http://blogs.msdn.com/b/vcblog/archive/2009/12/08/c-native-multi-targeting.aspx
VS2010プロジェクトを開き、プラットフォームツールセットをv100からv90に変更できるはずです。そうすると、VS2010は実際にVS2008コンパイラ、ヘッダー、およびライブラリを使用してプログラムをビルドします。そうである場合、プロジェクトがこのようにビルドされたときにDLLがロードされないため、「正しく」実行されていません。ビルドログを調べて、使用されているコンパイラを確認しようとしましたが、ログにパスやバージョン番号がないため、問題が発生しました。
これは、Win32Apisに直接書き込まれたプレーンなC(C ++、MFC、.NETではない)プロジェクトです。これを機能させる方法はありますか、それとも単一のプロジェクト(システム全体を構成する100以上のうち)に別のコンパイラを使用しているだけですか?
ヘルプ!