vs解决方案release版本调成debug

vs解决方案release版本调成debug

如果给你一个vs的解决方案,默认的是release版的,让你弄出一个debug版本出来方便调试,你会发现,一个大的工程,绝对不会是讲release改为debug那么简单。

首先,改为debug后,要保证一些基本的库跟release版本是一致的,这样才能够保证编译时能够找到库文件,dll或者lib,有时候路径设置的不对,甚至连h或者cpp文件也找不到。

然后,是字符集和MFC使用的设置,一般都是多字符集,MFC跟release版本保持一致。当然有时候编译不通过的时候可以都试一下。

另外还有几个特别容易出错的地方,代码生成那里的基本运行时检查和运行时库,设置的不对也会导致大量的出错信息。

注意一下文件的输入输出目录,各个文件之间的调用关系。

下面说一下我今天遇到的错误还有解决方法吧。

error LNK2005: _calloc 已经在 libcmtd.lib(dbgheap.obj) 中定义 LIBCMT.lib
fatal error LNK1169: 找到一个或多个多重定义的符号
这种错误要在链接器—输入—忽略特定库中输入LIBCMT.lib。

error LNK2005: _DllMain@12 已经在 CyberGina.obj 中定义 mfcs80d.lib
fatal error LNK1169: 找到一个或多个多重定义的符号
我在预处理器—预处理定义—删除USEDLL解决了问题

error LNK2019: 无法解析的外部符号 _CIP_STREAM_OP,该符号在函数 “public: long………………中被引用
这种错误一般是库文件路径不对
链接器—输入—附加依赖库 保持跟release一致

error C2491: XXX: 不允许 dllimport 函数 的定义
c/c++ 预处理器 预处理定义 添加APICTRL_EXPORTS,网上多半是说加入DLLEXPORT,我试过了,对我来说不能解决。呵呵。

最后,如果提示找不到什么lib,dll一定要仔细检查设置的附加库啊,包含目录啊,依赖项,要保证路径正确,并且文件存在。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值