LNK4098: defaultlib 'LIBCMT' は他のライブラリの使用と競合しています のエラーについて


 2007-07-28 04:03:46  No: 65868  IP: 192.*.*.*

vc++ 2005を使っています
初学者です

サンプルをいじっていますので、ソースが古いのか、ライブラリの設定がおかしいのかわからない状態です

エラーの内容は
LINK : warning LNK4098: defaultlib 'LIBCMT' は他のライブラリの使用と競合しています。/NODEFAULTLIB:library を使用してください。
teki.obj : error LNK2019: 未解決の外部シンボル __CrtDbgReportW が関数 "public: __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV01@@Z) で参照されました。
libcpmtd.lib(stdthrow.obj) : error LNK2001: 外部シンボル "__CrtDbgReportW" は未解決です。
animdraw.obj : error LNK2001: 外部シンボル "__CrtDbgReportW" は未解決です。
baku.obj : error LNK2001: 外部シンボル "__CrtDbgReportW" は未解決です。
jiki.obj : error LNK2001: 外部シンボル "__CrtDbgReportW" は未解決です。
main.obj : error LNK2001: 外部シンボル "__CrtDbgReportW" は未解決です。
libcpmtd.lib(xdebug.obj) : error LNK2019: 未解決の外部シンボル __malloc_dbg が関数 "void * __cdecl operator new(unsigned int,struct std::_DebugHeapTag_t const &,char *,int)" (??2@YAPAXIABU_DebugHeapTag_t@std@@PADH@Z) で参照されました。
libcpmtd.lib(xdebug.obj) : error LNK2019: 未解決の外部シンボル __free_dbg が関数 "void __cdecl operator delete(void *,struct std::_DebugHeapTag_t const &,char *,int)" (??3@YAXPAXABU_DebugHeapTag_t@std@@PADH@Z) で参照されました。
libjpeg.lib(jpegtran.obj) : error LNK2019: 未解決の外部シンボル _jtransform_execute_transformation が関数 _main で参照されました。
libjpeg.lib(jpegtran.obj) : error LNK2019: 未解決の外部シンボル _jcopy_markers_execute が関数 _main で参照されました。
libjpeg.lib(jpegtran.obj) : error LNK2019: 未解決の外部シンボル _jtransform_adjust_parameters が関数 _main で参照されました。
libjpeg.lib(jpegtran.obj) : error LNK2019: 未解決の外部シンボル _jtransform_request_workspace が関数 _main で参照されました。
libjpeg.lib(jpegtran.obj) : error LNK2019: 未解決の外部シンボル _jcopy_markers_setup が関数 _main で参照されました。
libjpeg.lib(jpegtran.obj) : error LNK2019: 未解決の外部シンボル _write_stdout が関数 _main で参照されました。
libjpeg.lib(jpegtran.obj) : error LNK2019: 未解決の外部シンボル _read_stdin が関数 _main で参照されました。
libjpeg.lib(jpegtran.obj) : error LNK2019: 未解決の外部シンボル _read_scan_script が関数 _parse_switches で参照されました。
libjpeg.lib(jpegtran.obj) : error LNK2019: 未解決の外部シンボル _keymatch が関数 _parse_switches で参照されました。

です
どうかご教授よろしくお願いします

編集 削除
επιστημη  2007-07-28 04:20:03  No: 65869  IP: 192.*.*.*

Release版とDebug版とが混じっているように見受けられます。

編集 削除
 2007-07-28 04:23:15  No: 65870  IP: 192.*.*.*

win32 アプリケーションでプロジェクトから作り直しましたら、エラーが減りましたが
いまだに同じようなエラーが残っています

LINK : warning LNK4098: defaultlib 'LIBCMT' は他のライブラリの使用と競合しています。/NODEFAULTLIB:library を使用してください。
teki.obj : error LNK2019: 未解決の外部シンボル __CrtDbgReportW が関数 "public: __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV01@@Z) で参照されました。
libcpmtd.lib(stdthrow.obj) : error LNK2001: 外部シンボル "__CrtDbgReportW" は未解決です。
animdraw.obj : error LNK2001: 外部シンボル "__CrtDbgReportW" は未解決です。
baku.obj : error LNK2001: 外部シンボル "__CrtDbgReportW" は未解決です。
jiki.obj : error LNK2001: 外部シンボル "__CrtDbgReportW" は未解決です。
main.obj : error LNK2001: 外部シンボル "__CrtDbgReportW" は未解決です。
libcpmtd.lib(xdebug.obj) : error LNK2019: 未解決の外部シンボル __malloc_dbg が関数 "void * __cdecl operator new(unsigned int,struct std::_DebugHeapTag_t const &,char *,int)" (??2@YAPAXIABU_DebugHeapTag_t@std@@PADH@Z) で参照されました。
libcpmtd.lib(xdebug.obj) : error LNK2019: 未解決の外部シンボル __free_dbg が関数 "void __cdecl operator delete(void *,struct std::_DebugHeapTag_t const &,char *,int)" (??3@YAXPAXABU_DebugHeapTag_t@std@@PADH@Z) で参照されました。

編集 削除
 2007-07-28 04:35:00  No: 65871  IP: 192.*.*.*

επιστημηさん
返答ありがとうございます

プロジェクト→プロパティから
構成マネージャをみましたが、構成はデバックになっていました
確認方法が間違っていたのであればすみません

編集 削除
επιστημη  2007-07-28 10:27:37  No: 65872  IP: 192.*.*.*

> 構成マネージャをみましたが、構成はデバックになっていました

にもかかわらず、Release版のライブラリをリンクしてますね。

> LINK : warning LNK4098: defaultlib 'LIBCMT' は他のライブラリの使用> と競合しています。/NODEFAULTLIB:library を使用してください。

LIBCMTはRelease版です。

編集 削除
 2007-07-28 13:10:50  No: 65873  IP: 192.*.*.*

調べたのですが、わからないので解決策をご教授いただけませんか?

http://support.microsoft.com/kb/148652/ja#appliesto
ここの説明を読んでも、VC++での、どこを指しているのか理解できていないのでわかりません
もしくは、調べる項目が間違っているかもしれません


すみませんが、よろしくお願いします

編集 削除
wclrp ( 'o')  2007-07-28 14:14:34  No: 65874  IP: 192.*.*.*

どういう状況なんでしょうね。

状況がわからないので推測です。
LIBCMTとリンクするように指示がある〜.libと
LIBCMTと内容がかぶっているがべつの(デバッグ用)と
リンクするようになっているexeということかな?

構成をReleaseにすればexeを作れるってこと?

編集 削除
 2007-07-28 15:04:32  No: 65875  IP: 192.*.*.*

リリース版にしてみましたが、リンクまでいかない内にエラーがおきるようです
詳しい内容は、と言うよりも、詳しい状況が理解できていないのが現状です


簡単なメニュー画面を表示するまでは、DXライブラリを使用して出来たのですが
画像を利用し、メニューを充実させようとしたところ
このようなエラーが出ました

また、
書籍の完成させてあるゲームサンプルであるソースをコンパイルしたところ
同じようなエラーが起きている状況です

LIBCMTと他のライブラリとの競合が原因だろうと推測して
調べまわっていましたが、糸口がみつからず質問しました

編集 削除
wclrp ( 'o')  2007-07-28 17:30:38  No: 65876  IP: 192.*.*.*

/NODEFAULTLIB:libraryは試していないの?
VC2005でのやり方を書いてみた。
http://blog90.fc2.com/w/wclrp/file/20070728144623.png
プロジェクト選んで
右クリックでメニュー出して
プロパティを選んで
リンカの入力の特定のライブラリの無視に指定します。

編集 削除
 2007-07-28 21:54:52  No: 65877  IP: 192.*.*.*

wclrp ( 'o')さん

リンク先の表示が許可されていないとでます
すみませんが、許可をお願いします

編集 削除
wclrp ( 'o')  2007-07-28 22:15:38  No: 65878  IP: 192.*.*.*

表示できたから問題ないかと思ったけど
リファラチェックしているのかな

http://wclrp.blog90.fc2.com/blog-entry-31.html

編集 削除
 2007-07-28 22:30:06  No: 65879  IP: 192.*.*.*

wclrp ( 'o')さん
回答ありがとうございます
結果を言いますと、エラーがごまんとでました
またLIBCMTD.libでも試しましたが、だめでした
LINK : warning LNK4199: /DELAYLOAD:OleAcc.dll は無視されます。OleAcc.dll にインポートがありません。
というウォーニングが増えただけでした

ですが、参考になりました
ありがとうございます



ライブラリの検索をかけて、コンパイルしてみたところ
このようなライブラリを使用しているようです


    C:\Program Files\Microsoft Visual Studio 8\VC\lib\DelayImp.lib を検索中:
    C:\Program Files\Microsoft Visual Studio 8\VC\lib\libcpmtd.lib を検索中:
    C:\Program Files\Microsoft Visual Studio 8\VC\lib\uuid.lib を検索中:
    DxLib.lib を検索中:
    DxUseCLib.lib を検索中:
    C:\Program Files\Microsoft Visual Studio 8\VC\lib\kernel32.lib を検索中:
    C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\comctl32.lib を検索中:
    C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\user32.lib を検索中:
    C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\gdi32.lib を検索中:
    C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\advapi32.lib を検索中:
    C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\ole32.lib を検索中:
    C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\shell32.lib を検索中:
    C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\winmm.lib を検索中:
    C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\wsock32.lib を検索中:
    C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\imm32.lib を検索中:
    C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\msacm32.lib を検索中:
    libpng.lib を検索中:
    zlib.lib を検索中:
    libjpeg.lib を検索中:
    ogg_static.lib を検索中:
    vorbis_static.lib を検索中:
    vorbisfile_static.lib を検索中:
    C:\Program Files\Microsoft Visual Studio 8\VC\lib\LIBCMT.lib を検索中:
    C:\Program Files\Microsoft Visual Studio 8\VC\lib\OLDNAMES.lib を検索中:
    C:\Program Files\Microsoft Visual Studio 8\VC\lib\DelayImp.lib を検索中:
    C:\Program Files\Microsoft Visual Studio 8\VC\lib\libcpmtd.lib を検索中:
    C:\Program Files\Microsoft Visual Studio 8\VC\lib\uuid.lib を検索中:
    DxLib.lib を検索中:
    DxUseCLib.lib を検索中:
    C:\Program Files\Microsoft Visual Studio 8\VC\lib\kernel32.lib を検索中:
    C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\comctl32.lib を検索中:
    C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\user32.lib を検索中:
    C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\gdi32.lib を検索中:
    C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\advapi32.lib を検索中:
    C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\ole32.lib を検索中:
    C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\shell32.lib を検索中:
    C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\winmm.lib を検索中:
    C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\wsock32.lib を検索中:
    C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\imm32.lib を検索中:
    C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\msacm32.lib を検索中:
    libpng.lib を検索中:
    zlib.lib を検索中:
    libjpeg.lib を検索中:
    ogg_static.lib を検索中:
    vorbis_static.lib を検索中:
    vorbisfile_static.lib を検索中:
    C:\Program Files\Microsoft Visual Studio 8\VC\lib\LIBCMT.lib を検索中:
    C:\Program Files\Microsoft Visual Studio 8\VC\lib\OLDNAMES.lib を検索中:
    C:\Program Files\Microsoft Visual Studio 8\VC\lib\DelayImp.lib を検索中:
    C:\Program Files\Microsoft Visual Studio 8\VC\lib\libcpmtd.lib を検索中:
    C:\Program Files\Microsoft Visual Studio 8\VC\lib\uuid.lib を検索中:
    DxLib.lib を検索中:
    DxUseCLib.lib を検索中:
    C:\Program Files\Microsoft Visual Studio 8\VC\lib\kernel32.lib を検索中:
    C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\comctl32.lib を検索中:
    C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\user32.lib を検索中:
    C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\gdi32.lib を検索中:
    C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\advapi32.lib を検索中:
    C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\ole32.lib を検索中:
    C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\shell32.lib を検索中:
    C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\winmm.lib を検索中:
    C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\wsock32.lib を検索中:
    C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\imm32.lib を検索中:
    C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\msacm32.lib を検索中:
    libpng.lib を検索中:
    zlib.lib を検索中:
    libjpeg.lib を検索中:
    ogg_static.lib を検索中:
    vorbis_static.lib を検索中:
    vorbisfile_static.lib を検索中:

編集 削除