MFC静态发布应用

1. 配置 活动 Release
2. 项目->属性->配置属性->常规->MFC的使用 设为: 在静态库中使用MFC
3. 项目->属性->配置属性->C/C++->代码生成->运行库 谁为: 多线程(/MT)

如果编译出现如下类似错误:
nafxcw.lib(afxmem.obj) : error LNK2005: "void * __cdecl operator new(unsigned int)" (
??2@YAPAXI@Z) already defined in LIBCMT.lib(new.obj) 
这样的错误, 明显就是被link到的library使用了相同名字的函数, 如果直接LIBCMT.里边是不行的,
因为他是C的library, 之所以发生这样的问题, 是因为MFC的库和C的库发生冲突, 必须设置他们被link的顺序,
也就是先nafxcw.lib再LIBMT.lib, 既然这样, 那我们就强制设置一下他们的link顺序吧, 如下:
//首先将这两库Ingnore掉
1. 项目->属性->配置属性->连接器->输入->忽略特定默认库 中添加: uafxcw.lib;LIBCMT.lib
//然后重新附加
2. 项目->属性->配置属性->连接器->输入->附加依赖项 中添加: uafxcw.lib;LIBCMT.lib

这样就成功发布了你的应用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值