`

LNK2005 连接错误解决办法

    博客分类:
  • SNMP
MFC 
阅读更多
nafxcwd.lib(afxmem.obj) : error LNK2005: "void * __cdecl operator new(unsigned int)" (??2@YAPAXI@Z) 已经在 LIBCMTD.lib(new.obj) 中定义
nafxcwd.lib(afxmem.obj) : error LNK2005: "void __cdecl operator delete(void *)" (??3@YAXPAX@Z) 已经在 LIBCMTD.lib(dbgdel.obj) 中定义
nafxcwd.lib(afxmem.obj) : error LNK2005: "void * __cdecl operator new[](unsigned int)" (??_U@YAPAXI@Z) 已经在 LIBCMTD.lib(new2.obj) 中定义
nafxcwd.lib(afxmem.obj) : error LNK2005: "void __cdecl operator delete[](void *)" (??_V@YAXPAX@Z) 已经在 LIBCMTD.lib(delete2.obj) 中定义



原因:

CRT 库对 new、delete 和 DllMain 函数使用弱外部链接。MFC 库也包含 new、delete 和 DllMain 函数。这些函数要求先链接 MFC 库,然后再链接 CRT 库。



解决办法:

一种方法是强制链接器按照正确的顺序链接库。第二种方法是由您亲自查找导致问题的模块并纠正它。

1,

项目--属性 ---连接器---输入 

                              附加依赖项    空格Nafxcwd.lib Libcmtd.lib

                              忽略指定库    空格Nafxcwd.lib Libcmtd.lib



2, 项目--属性 ---连接器---命令行 输入: /FORCE:MULTIPLE
分享到:
评论

相关推荐

    link错误解决办法

    "link错误解决办法" 在 C++ 项目中,link 错误是常见的问题之一。该问题可能是由于项目设置不当、库文件缺失或程序入口设置错误等原因引起的。在本文中,我们将详细介绍 link 错误的解决办法,包括线程相关错误。 ...

    C++使用MySQL-Connector/C++连接MySQL出现LNK2019错误的解决方法

    使用vs2015开发c++win32项目时,用MySQL-Connector/c++连接MySQL时总是出现error: LNK2019错误 错误原因可能为: 1、缺少相应的库文件; 2、项目平台和所引用的第三方SDK不一致,即32bit对应引用了64bit,64bit对应...

    vs2010一些常见的错误以及解决方法汇总 vc++6.0转vs2010时出现的问题的解决方法

    以下是一些常见的错误及相应的解决方法: 1. **错误C2440:static_cast转换失败** 当编译器无法执行指定类型的转换时,会抛出C2440错误。通常,这可能是因为尝试将不兼容的数据类型进行强制转换。解决方案是检查...

    C++常见错误汇总.doc

    这些错误包括编译错误、连接错误和语法错误等。了解这些错误类型和解决方法对C++程序员来说非常重要,可以帮助他们快速诊断和解决问题,提高编程效率。 1. fatal error C1010: unexpected end of file while ...

    VC6.0链接错误的一些解决办法

    在使用Visual C++ 6.0 (VC6.0)进行编程时,可能会遇到一系列链接错误,例如LNK2001,这是由于多种原因引起的。以下是一些常见的解决方法: 1. **Windows子系统设置错误**:当你试图运行一个原本应该作为Windows应用...

    宽带连接打不开解决方法.docx

    标题中的“宽带连接打不开解决方法”指的是在使用Windows操作系统时遇到的一种常见问题,即用户无法通过桌面上的宽带连接快捷方式打开网络连接。描述中提到的情况是用户尝试打开宽带连接时没有任何响应,即使尝试...

    C++常见错误汇总

    这个错误是连接错误:不能打开 P1.exe 文件,以改写内容。(一般是 P1.Exe 还在运行,未关闭)。解决方法是关闭P1.exe文件,然后重新编译。 error LNK2001: unresolved external symbol 这个错误是链接时发现没有...

    vc++中 LINK2001错误

    在创建MFC项目时,不使用MFC AppWizard向导,可能会在编译时产生很多连接错误,例如error LNK2001: unresolved external symbol _main。这种错误通常是由于Windows子系统设置错误引起的,可以按照以下步骤解决: 1....

    最常见的VC++编译错误信息_fatal_error

    这是一个常见的连接错误,原因是不能打开P1.exe文件,以改写内容。解决方法是检查P1.exe文件是否已经关闭。 20. Error LNK2001:unresolved external symbol "public: virtual _ _thiscall C……::~C……(void)" ...

    VC++常见错误提示

    这是一种连接错误,发生在连接时发现没有实现的外部符号(变量、函数等)时,通常是因为变量或函数的定义不正确。解决方法是检查变量或函数的定义是否正确。 了解这些错误的原因和解决方法是非常重要的,可以帮助...

    odbccp32出现版本错误的解决方法

    ODBCCP32.dll是微软ODBC(Open Database Connectivity)的一部分,它是一个数据库连接库,用于在Windows操作系统中实现应用程序与各种数据库之间的通信。当您遇到"odbccp32出现版本错误"的问题时,这通常意味着当前...

    如何解决Visual C++ 6.0不正确连接的问题.docx

    在使用Visual C++ 6.0进行开发时,可能会遇到一些连接问题,导致频繁的编译和链接,或者出现LNK2001错误。以下是对这些问题的详细解析和解决方案。 1. **未来文件问题**:当文件的修改时间超过系统时间时,可能会...

    ObjectARX及MFC开发常见的问题及解决方法总结.doc

    4. **重复定义`_DllMain@12`错误**:错误消息“error LNK2005: _DllMain@12 已经在dllmain.obj中定义”。这表明在工程中存在多个DllMain函数定义。解决方案是删除自定义的DllMain函数,或者在DllMain文件中添加特定...

    如何解决Visual C++ 6.0不正确连接的问题.pdf

    解决`LNK2001`错误通常需要检查代码中的引用是否正确,确保函数和变量的定义与声明匹配,并且检查编译选项和链接库的配置是否恰当。 此外,针对没有源码的exe文件调用的dll进行调试,可以在Visual C++ 6.0的...

    VC++常见安装调试错误

    在创建MFC项目时, 不使用MFC AppWizard向导, 如果没有设置好项目参数, 就会在编译时产生很多连接错误, 如error LNK2001错误, 典型的错误提示有: libcmtd.lib(crt0.obj) : error LNK2001: unresolved external ...

    Visul C++常见错误提示

    这些错误可能会给初学者带来困扰,但通过了解这些错误的原因和解决方法,开发者可以更快速地解决问题。 一、fatal error C1010: unexpected end of file while looking for precompiled header directive 这是因为...

    C语言编程常见问题,自己总结的,希望对大家有用

    产生连接错误的原因非常多,尤其 LNK2001 错误,常常使人不明其所以然。 LNK2001 错误的解决方法: 1. 检查编码错误是否正确,例如变量的名称是否正确,函数的参数是否正确等。 2. 检查头文件是否正确,例如是否...

    C语言常见的语法错误

    该错误是由于连接错误,无法打开P1.exe文件,请关闭P1.exe文件后重新编译。 了解这些常见的语法错误,可以帮助程序员减少调试时间、查找错误的时间,从而提高编程效率。并且,通过对每个错误的详细解释,可以帮助...

    COFF问题解决方法

    连接器LNK是通过调用cvtres.exe完成文件向coff格式的转换的,所以出现这种错误的原因就是cvtres.exe出现了问题。

Global site tag (gtag.js) - Google Analytics