Visual C++ 2008 でプロジェクトを作成しています。これは、自分のプロジェクトですぐに使用する静的 C++ クラス ライブラリ用の MFC ベースのアプリの例です。デバッグ構成を構築しているときに、次のようになります。
警告 LNK4098: defaultlib 'MSVCRT' は他のライブラリの使用と競合します。/NODEFAULTLIB:ライブラリを使用
推奨オプションを使用した後 (デバッグ構成のプロジェクト リンカー設定の [特定のライブラリを無視する] フィールドに「msvcrt」を追加)、プログラムはリンクして正常に実行されます。ただし、この競合が発生した理由、重要なライブラリを無視する必要がある理由、後で問題が発生することが予想される場合は、無視を追加するか、追加しない場合はどうなるかを知りたいです (とにかくプログラムがビルドされます)。
同時に、リリース構成は次のように警告します。
警告 LNK4075: '/OPT:ICF' 仕様により '/EDITANDCONTINUE' を無視します
警告 LNK4098: デフォルト ライブラリ 'MSVCRTD' は他のライブラリの使用と競合します。/NODEFAULTLIB:ライブラリを使用
「D」サフィックスは、これが vc++ ランタイムのデバッグ バージョンであることを意味していると思いますが、なぜこれが今回使用されるのかわかりません。とにかく、「msvcrtd」を無視フィールドに追加すると、次の形式のリンク エラーが多数発生します。
エラー LNK2001: 未解決の外部シンボル __imp___CrtDbgReportW
どんな洞察も大歓迎です。