MFCでC言語のソースを使用するとLNK2005が発生

[戻る]
ブヒブヒ 2010/04/12(月) 18:35:17
いつもお世話になっております。
ブヒブヒでございます。

開発環境
Win XP Pro SP3
VC++ 2005 SP1 MFC

CAB形式のファイルを解凍する機能を実装したく、教えていただいたWebを
参考(ほぼコピペ)にTEST.HとTEST.Cを作成し、ビルドしたら下記の
エラーが出てしまいました。
#CAB形式 http://www.eternalwindows.jp/installer/cabinet/cabinet07.html

発生したエラー内容
uafxcw.lib(afxmem.obj) : error LNK2005: "void * __cdecl operator new(unsigned 
int)" (??2@YAPAXI@Z) は既にLIBCMT.lib(new.obj) で定義されています。
uafxcw.lib(afxmem.obj) : error LNK2005: "void __cdecl operator delete(void *)" 
(??3@YAXPAX@Z) は既にLIBCMT.lib(delete.obj) で定義されています。
uafxcw.lib(afxmem.obj) : error LNK2005: "void * __cdecl operator new[]
(unsigned int)" (??_U@YAPAXI@Z) は既に LIBCMT.lib(new2.obj) で定義されていま
す。
uafxcw.lib(afxmem.obj) : error LNK2005: "void __cdecl operator delete[](void 
*)" (??_V@YAXPAX@Z) は既にLIBCMT.lib(delete2.obj) で定義されています。

なお、TEST.Cはプリコンパイル済みヘッダーを使用しないにしてあります。

そこで、下記のサイトを発見したのですが、
VisualStudio2005ではどのようにしたら良いかがわかりません。
http://frog.raindrop.jp/knowledge/archives/000503.html

大変申し訳ありませんが、
助けていただけないでしょうか。
よろしくお願いいたします。

tetrapod 2010/04/12(月) 21:22:46
そのリンク先にきっちり解決策まで書いてあるわけだけど、何がわからない?

ブヒブヒ 2010/04/13(火) 11:43:25
[[解決]]
いつもお世話になっております。
ブヒブヒです。

解決しました。
TEST.CをTEST.CPPに変更して先頭に
#include "stdafx.h"
を追加したらビルドが通るようになりました。

ご迷惑をおかけしました。

古いスレッドには追加発言できません。