【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?

VC++でMFCを使用してダイアログベースのEXEを
作成しています。
以下のクラスのメンバ関数などを使用して、色の操作をしています。
CDC::SetBkColor()
CDC::SetTextColor()

ビルド時、以下のリンクエラーとなりました。

----------------------------------------------
nafxcw.lib(afxmem.obj) : error LNK2005:
"void __cdecl operator delete(void *)"
(??3@YAXPAX@Z) はすでに LIBCMT.lib(delete.obj) で
定義されています

Release/MenueTest.exe : fatal error LNK1169: 1 つ
以上の複数回定義されているシンボルが見つかりました
link.exe の実行エラー
----------------------------------------------

MFC と C(?)のライブラリで delete()関数が競合しているようですが、これを回避する方法をご存知の方、ご教授願います。

<環境>
OS:Windows2000
VC++6.0

<備考>
リンクエラーになるのは以下の組み合わせです。
「MFCをスタティックリンクする+リリース版」

MFCをスタティックリンクしてもデバッグ版のビルドだとエラーになりません。
また、MFCをスタティックリンクしない場合もエラーにはなりません。
ただし、リンクエラーにならなかった場合、どちらのオブジェクトの delete()関数が呼ばれるか不明で、それが正しいのかも心配です。

A 回答 (1件)

    • good
    • 0
この回答へのお礼

ありがとうございました。
無事解決できました。

お礼日時:2003/05/09 17:14

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!