トップページ > 過去ログ > 記事閲覧
iostream使用時のライブラリ競合
名前:らり 日時: 2007/12/22 00:19

はじめまして 最近BorlandからVCに乗り換えたのですが、iostreamをインクルードすると下記のエラーが出るようになりました。 プログラムは、色つきの四角を表示するだけのもので、Borlandでは問題なく動きました。 ライブラリもVC用のものを使用しています。 まだVCに不慣れなので、もしかすると単純な設定ミスかもしれないのですが、ご助言よろしくお願いします。 LINK : warning LNK4098: defaultlib 'LIBCMT' は他のライブラリの使用と競合しています。/NODEFAULTLIB:library を使用してください。 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) で参照されました。

Page: 1 |

Re: iostream使用時のライブラリ競合 ( No.1 )
名前:ライブラリ使用者 日時:2007/12/22 00:53

LNK4098 デバッグ版のライブラリをリリース版でリンク、使用するランタイムライブラリが一致してないとでるみたいです。 VCのデフォルトの設定でDebug時の構成のオプションでRelease版のライブラリを指定してしまっているという事でしょうかね。。 対処の仕方などこちらに記載あるようですが、 まず設定ミスの考慮をしたほうがよいかもしれません。 ttp://www.xlsoft.com/jp/products/intel/cvf/docs/vf-html/em/em02_07.htm
Re: iostream使用時のライブラリ競合 ( No.2 )
名前:EMIYA 日時:2007/12/22 02:55

STLなどを使っていて、DxLib.hのSTLを使う場合はコメントを〜というところをはずさずにやってたりしますか? 私も、それで似たようなエラーがでたのですが・・・
Re: iostream使用時のライブラリ競合 ( No.3 )
名前:らり 日時:2007/12/22 11:46

ライブラリ使用者さん、EMIYAさん、ありがとうございます。 >ライブラリ使用者さん 私もそのページは見つけていたのですが、ライブラリについてはあまり知識がないことと、おっしゃる通り単なる設定ミスの可能性が高いと思い、こちらで質問しました。 設定ミスとすれば、どのあたりの可能性がありますか? 一応、説明通りに初期設定は済ませたつもりなのですが・・・ >EMIYAさん すみません、少し探したのですがその記述を見つけられませんでした。どの部分でしょう?
Re: iostream使用時のライブラリ競合 ( No.4 )
名前:ライブラリ使用者 日時:2007/12/22 12:03

DxLib.hの26行目ですね。 // VisualC++の標準メモリデバッグ機能又はSTLを使用する場合はコメントを外し、 // プロジェクトの設定でリンクするライブラリを『マルチスレッド デバッグ(/MTd)』 // に変更してください //#define DX_USE_VISUALC_MEM_DEBUG
Re: iostream使用時のライブラリ競合 ( No.5 )
名前:らり 日時:2007/12/22 12:25

なるほど DxLib.hそのものに書いてあったんですね。 無事解決しました! ライブラリ使用者さん、EMIYAさん、本当にありがとうございました!

Page: 1 |