質問 |
||
| 質問者: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 |
|
| この回答へのお礼 | なんとか解決できました。ありがとうございました。 |