トップページ > 過去ログ > 記事閲覧
標準ライブラリ
名前:たつ 日時: 2007/06/10 23:52

こんにちは、始めまして。 他のライブラリと競合を起こしているらしく DXライブラリが関係しているのか分かりませんが 自分で色々と調べてみたのですが良く分からなかったので この場で質問させていただきます。 C++標準ライブラリ(今回はvector)を使おうとしているのですが 以下のエラーがでてビルドできません。 1>LINK : warning LNK4098: defaultlib 'LIBCMT' は他のライブラリの使用と競合しています。/NODEFAULTLIB:library を使用してください。 1>libcpmtd.lib(stdthrow.obj) : error LNK2019: 未解決の外部シンボル __CrtDbgReportW が関数 "void __cdecl std::_Debug_message(wchar_t const *,wchar_t const *,unsigned int)" (?_Debug_message@std@@YAXPB_W0I@Z) で参照されました。 1>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) で参照されました。 1>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) で参照されました。 環境 VCExpressEditon+DxLib どうかお願いします。

Page: 1 |

Re: 標準ライブラリ ( No.1 )
名前:たつ 日時:2007/06/12 20:09

追伸 何故かdebugモードの時だけに発生して releaseモードでビルドすると問題なく出来てしまいます。 どなたか手ほどきをお願いします。
Re: 標準ライブラリ ( No.2 )
名前: 日時:2007/06/12 23:01

 えっと、"libcpmtd.lib"というのはその別のライブラリのファイルではないですか?  おそらく、「"libcpmtd.lib"で呼んでるその関数が定義されてませんよ(つまりコード(ライブラリ)が完成してないよ)」ってことだと思うのですが……そちらのライブラリの方にはお聞きしましたか?
Re: 標準ライブラリ ( No.3 )
名前:meigin 日時:2007/06/12 23:03

間違っていても怒らないで下さいよ Dxlid.h の 26行目辺りにある #define DX_USE_VISUALC_MEM_DEBUG のコメントを外して下さい STLとは標準ライブラリの事です コメントに説明がかいてあると思うので参考にして設定して下さい
Re: 標準ライブラリ ( No.4 )
名前:管理人 日時:2007/06/13 10:32

たつさん始めまして、DXライブラリの管理人です。 標準ライブラリをお使いの場合は、DxLib.h の上の方にある //#define DX_USE_VISUALC_MEM_DEBUG のコメントアウトを外して #define DX_USE_VISUALC_MEM_DEBUG に変更して、更にプロジェクトの設定で使用するランタイム ライブラリを『マルチスレッド デバッグ(/MTd)』に変更した 上でコンパイルしてみて下さい。 (ランタイムライブラリの設定は メニューの『プロジェクト』→『プロパティ』でプロパティダイアログを開いた後 左側のリストから『構成プロパティ』→『C/C++』→『コード生成』を選択して 右側の項目の『ランタイム ライブラリ』で変更することが出来ます)
Re: 標準ライブラリ ( No.5 )
名前:たつ 日時:2007/06/13 18:06

解決しました。ありがとうございました。 こんなに目立つところに書いてあったのに 今まで気づかなかった自分に反省です(汗

Page: 1 |