ようこそ ゲスト さん、新規登録(無料)して気になる疑問を解決しませんか?

質問

質問者:sizum ライブラリファイルのリンク (リリースバージョン時)
困り度:
  • すぐに回答を!
VisualC++ 2005 Express Editionでライブラリファイル(.lib)をリリースバージョンでビルトし、違うプログラム(デバックバージョン)でライブラリファイルをリンクしたとき

1>コンパイルしています...
1>main.c
1>リンクしています...
1>CheckMemory.lib(check_memory.obj) : MSIL .netmodule または /GL を伴ってコンパイルされたモジュールが見つかりました。/LTCG を使用して再開始してください。リンカのパフォーマンスを向上させるためには、コマンドラインに /LTCG を追加してください。
1>LINK : warning LNK4075: /INCREMENTAL は /LTCG の指定によって無視されます。
1>LINK : warning LNK4098: defaultlib 'MSVCRT' は他のライブラリの使用と競合しています。/NODEFAULTLIB:library を使用してください。

と出るのですが、これはどうゆうことなのでしょうか?
分かる方いらっしゃいますか?お願いします。

ちなみにライブラリファイルは簡易メモリチェックプロブラムでデバック時のみ使用したいと考えているプログラムです。
使用言語はc言語です。
文章下手ですみません^^;
質問投稿日時:08/03/22 08:54
質問番号:3884181
この質問に対する回答は締め切られました。

回答

良回答20pt

回答者:Situgyosya リンク時に、複数の異なったランタイムライブラリを同時に利用する
ことはできません。リンク対象の*.objファイル群はコンパイルオプ
ションで全て同一のランタイムを使用するように指定されていなけれ
ばならないからです。これはlibでリンクする場合も同様の問題を
抱えています。ただし、DLLでリンクする場合は異なったランタイム
を利用できる場合もあります。
この説明で理解できない場合は、一部をデバッグビルドまたは一部を
リリースビルドしたlibまたはobj、dllを使用することをあきらめ、
全て同一のランタイムを用いたコンパイル、リンク方法にしたほうが
よいかもしれません。
種類:アドバイス
どんな人:専門家
自信:参考意見
回答日時:08/03/24 14:31
回答番号:No.1
この回答へのお礼なんとか解決できました。ありがとうございました。