hereで詳しく説明されているように、まだ主要なコンパイルに苦しんでいますが、/NODEFAULTLIB の使用について具体的な副次的な質問があります。
ソリューション内のプロジェクトの 1 つが /MDd MSVCR90D.DLL の代わりに /MTd (LIBCMTD.LIB) を使用しているリンカーの問題を解決するために、この /NODEFAULTLIB:LIBCMTD スイッチを使用しようとしました。
残念ながら、この投稿のタイトルから推測できるように、私はこれを正しく使用していないようです。ソリューションをビルドすると、次の警告が 3 つの場所に表示されます。
1>cl : Command line warning D9002 : ignoring unknown option '/NODEFAULTLIB:LIBCMTD'
Windows XP Professional SP3 で Visual Studio 2008 Standard SP1 を実行しています。問題のあるプロジェクトを右クリックしてプロパティを選択し、[構成プロパティ] を展開し、C/C++ リストを展開して [コマンド ライン] を選択し、[追加オプション] に /NODEFAULTLIB:LIBCMTD と入力して、このスイッチを追加します。分野。
これは C/C++ 設定ではなくリンカー設定である必要があることを Web の他の場所で読んでいたので、[構成プロパティ] -> [ビルド イベント] -> [事前リンク イベント] -> [コマンド ライン] の下にも入力しようとしましたが、これにより、コンパイルとは異なる結果が得られることなく、独自の警告が表示されました。
1>The filename, directory name, or volume label syntax is incorrect.
1>Project : error PRJ0019: A tool returned an error code from "Performing Pre-Link Event..."
皆さん... /NODEFAULTLIB スイッチについてはどうですか? VS2008 にコマンドを認識させ、無視しないようにするにはどうすればよいですか?
ありがとう - アレックス