MFC DLL工程编译出错,很有普遍性!请大家帮助

shtce2000 2005-03-16 12:50:23
第一步:
MFC DLL工程,release link出错:
Linking...
nafxcw.lib(dllmodul.obj) : error LNK2005: _DllMain@12 already defined in LIBCMT.lib(dllmain.obj)

第二步:
按网上说的这样解决:
强制链接程序按照正确的顺序链接库
1. 在"生成"菜单上,单击"设置"。
2. 在"项目设置"对话框的"以下项目的设置"视图中,单击以选中出现链接错误的项目配置。
3. 在"链接"选项卡上,单击以选中"类别"组合框中的"INPUT"。
4. 在"要忽略的库"中,插入库名(例如,Nafxcwd.lib;Libcmtd.lib)。

注意:等效的链接程序命令行是:/NOD:。
5. 在"对象/库模块"框中,插入库名。必须确保这些库按顺序列出,且作为命令行中的前两个库(例如,Nafxcwd.lib 和 Libcmtd.lib)列出。


第三步:
再编译,又出这个问题:

Linking...
Nafxcwd.lib(afxinl1.obj) : error LNK2005: "public: virtual __thiscall CObject::~CObject(void)" (??1CObject@@UAE@XZ) already defined in Player.obj Player是我自己写的对象
Nafxcwd.lib(afxinl1.obj) : error LNK2005: "public: virtual void __thiscall CObject::Serialize(class CArchive &)" (?Serialize@CObject@@UAEXAAVCArchive@@@Z) already defined in GroupLib.obj
Nafxcwd.lib(dllmodul.obj) : warning LNK4006: _DllMain@12 already defined in Libcmtd.lib(dllmain.obj); second definition ignored
Nafxcwd.lib(afxmem.obj) : warning LNK4006: "void * __cdecl operator new(unsigned int)" (??2@YAPAXI@Z) already defined in Libcmtd.lib(new.obj); second definition ignored
Nafxcwd.lib(afxmem.obj) : warning LNK4006: "void __cdecl operator delete(void *)" (??3@YAXPAX@Z) already defined in Libcmtd.lib(dbgdel.obj); second definition ignored


是什么原因啊?请大家指导,谢谢


...全文
149 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
smallcrocodile 2005-03-16
  • 打赏
  • 举报
回复
研究
老夏Max 2005-03-16
  • 打赏
  • 举报
回复
Setting 得C/C++ --》General中加入
,_AFXDLL
在include中加入:
mfc42d.lib msvcrtd.lib
就可以了

LINK : warning LNK4098: defaultlib "MSVCRT" conflicts with use of other libs; use /NODEFAULTLIB:library

在忽略库中加入: msvcrt.lib就可以了
会思考的草 2005-03-16
  • 打赏
  • 举报
回复
楼主你是不是把工程类型搞错了.扩展DLL是不能再人为定义dllmain的。
Jimmy_Xia 2005-03-16
  • 打赏
  • 举报
回复
没有见到过楼主的问题,关注!
legendhui 2005-03-16
  • 打赏
  • 举报
回复
xx
xiaqq 2005-03-16
  • 打赏
  • 举报
回复
http://blog.csdn.net/vcleaner/archive/2005/02/01/276278.aspx
fanqing 2005-03-16
  • 打赏
  • 举报
回复
xue xi

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧