nafxcw.lib与LIBCMT.lib在vs2008中链接冲突解决方案

转载 2015年11月19日 15:48:31

1>正在链接…
1>nafxcw.lib(afxmem.obj) : error LNK2005: “void * __cdecl operator new(unsigned int)” (??2@YAPAXI@Z) 已经在 LIBCMT.lib(new.obj) 中定义
1>nafxcw.lib(afxmem.obj) : error LNK2005: “void __cdecl operator delete(void *)” (??3@YAXPAX@Z) 已经在 LIBCMT.lib(delete.obj) 中定义
1>nafxcw.lib(afxmem.obj) : error LNK2005: “void * __cdecl operator new[](unsigned int)” (??_U@YAPAXI@Z) 已经在 LIBCMT.lib(new2.obj) 中定义
1>nafxcw.lib(afxmem.obj) : error LNK2005: “void __cdecl operator delete[](void *)” (??_V@YAXPAX@Z) 已经在 LIBCMT.lib(delete2.obj) 中定义
1>d:\XXXXXXXX\Test.exe : fatal error LNK1169: 找到一个或多个多重定义的符号
解决方法: 参见 http://support.microsoft.com/kb/148652/zh-cn

原因在于nafxcw和LIBCMT冲突了, 解决方法就是先link nafxcw.lib即可。

具体操作方法: 工程属性 “连接器”->”输入”->”附加依赖项”里面输入”nafxcw.lib”,这样VC2008编译时会先链接nafxcw.lib,问题就解决了。

补充一句:这是在使用静态MFC库时, 常常出现的错误。 一般要么是通过改为使用动态MFC库,要么通过上面的方法来解决。

相关文章推荐

CUDA的MFC程序框架中编译出现nafxcw.lib与LIBCMT.lib链接重定义的解决

用MFC给CUDA程序做界面,为了使程序不依赖MSVC库,选择使用静态的MFC库,同时设置Release为/MT编译   出现如下的错误: 1>正在链接... 1>nafxcw...

[Setting]VS2008项目怎样添加“依赖(lib)”、“库目录(Libs)”、“包含目录(include)”和“引用动态链接库(dll)”

针对单个项目的方法添加编译所需要依赖文件(lib) [解决方案资源管理器]项目->属性->配置属性->连接器->输入->附加依赖项里填写***.lib,多个 lib 以空格隔开。等同于代码: #pra...

链接错误LIBCMT.lib(crt0dat.obj) : error LNK2005以及fatal error C1189: #error

最近VS项目出现如下编译错误: 正在链接... LIBCMT.lib(crt0dat.obj) : error LNK2005: _exit 已经在 msvcrtd.lib(MSVCR71D.dll...

在vs2008中添加lib文件以及一些常用项目设置选项

下面以添加ws2_32.lib文件为例 方法一(直接添加代码): 直接在.cpp文件中,添加#pragma comment(lib, "ws2_32.lib");即可。(ws2_32.lib即为你...

使用vs2008编译sqlite3.dll,sqlite3.lib并调用

下载sqlite源码:http://www.sqlite.org/download.html。     1、    最新版本sqlite-amalgamation-3_6_23_1.zip,解压...

在编译器(如vs2008)里调用别人写好的lib和dll

转载地址:http://www.cnblogs.com/kanego/archive/2012/02/10/2344968.html 步骤:1.Tools->options->p...

VS2008引入头文件包含目录和lib库目录

全局级别的引入 为VS所有项目设置包含目录和库目录,对所有项目都有效 如下图所示:工具-选项-项目和解决方案-VC++目录-包含文件:在此添加头文件目录即可 工具-选项-项目和解决方案-VC++目录-...
  • rankun1
  • rankun1
  • 2016年03月14日 14:18
  • 3336

如何在编译器(vs2008)里设置调用别人写好的lib和dll

如何在编译器(vs2008)里设置调用别人写好的lib和dll 步骤:1.Tools->options->projects and solutions->VC++ directories分别...

VS2008中LIB和DLL的创建及调用

(这个年有点冷,元宵刚过,也得继续开始学习了。) LIB和DLL的知识就懒得敲了,直接从如何建立生成LIB或DLL开始。 创建项目→Win32项目→下一步之后按照需求选择DLL或者静态库(再视需求...
  • BetaBin
  • BetaBin
  • 2012年02月07日 14:24
  • 5342
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:nafxcw.lib与LIBCMT.lib在vs2008中链接冲突解决方案
举报原因:
原因补充:

(最多只允许输入30个字)