博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
vs2010静态链接MFC库报链接错误
阅读量:5935 次
发布时间:2019-06-19

本文共 624 字,大约阅读时间需要 2 分钟。

  由于需要将MFC程序在其它电脑上运行,所以需要将动态链接的MFC改成静态链接,本以为很简单,没想到链接的时候出现下面的链接错误:

uafxcw.lib(afxmem.obj) : error LNK2005: "void * __cdecl operator new(unsigned int)" (??2@YAPAXI@Z) already defined in LIBCMT.lib(new.obj)uafxcw.lib(afxmem.obj) : error LNK2005: "void __cdecl operator delete(void *)" (??3@YAXPAX@Z) already defined in LIBCMT.lib(delete.obj)

  在网上找了下原因,说是CRT库对new、delete 和 DllMain 函数使用弱外部链接。MFC 库也包含 new、delete 和 DllMain 函数。这些函数要求先链接 MFC 库,然后再链接 CRT 库。当 C 运行时 (CRT) 库和 Microsoft 基础类 (MFC) 库的链接顺序有误时,可能会出现上面的错误。

  网上的解决方法试了很多都会报错,后来根据上面报错的信息,上面报错是先链接了LIBCMT.lib,再链接uafxcw.lib。可不可以先链接uafxcw.lib,再链接LIBCMT.lib呢?抱着这个想法试了下,果然成功了~~~

转载地址:http://xictx.baihongyu.com/

你可能感兴趣的文章
SpringBoot项目远程Debug模式(Eclipse)
查看>>
前端性能优化之http请求的过程
查看>>
Vscode 扩展开发实践 jump源码分析
查看>>
2017 Material design 第二章第四节《Material的变化》
查看>>
ajax中的suceess函数使用this
查看>>
Java类集框架 —— ArrayList源码分析
查看>>
[译] 使用 Node 和 OAuth 2.0 构建一个简单的 REST API
查看>>
程序员月薪多少,才能在北上广买得起房?
查看>>
老司机 iOS 周报 #2
查看>>
CardView源码解析-View阴影
查看>>
Android自动生成代码的2种方式
查看>>
让人疑惑的Java代码 - Java那些事儿
查看>>
用 Vue 撸一个微博客户端
查看>>
False SQL Injection and Advanced Blind SQL Injection
查看>>
这么说吧,Lucene很简单,其实就是个框架,用于全文检索用的
查看>>
聊聊storm trident的state
查看>>
JB的Python之旅-爬虫篇-新浪微博内容爬取
查看>>
如何把 Java Web 应用放在 docker 容器中运行
查看>>
Xcode的Refactor使用
查看>>
webpack配置historyApiFallback的坑
查看>>