VS2008编译问题!
来源:互联网 发布:科讯cms漏洞 编辑:程序博客网 时间:2024/04/30 14:24
问题大概是 msvcrtd.lib 和 libcmtd.lib使用冲突
在网上找了一些帖子,试过了一些,但是不凑效,以下这篇帮我解决了这个问题,转载一下:
VS2005链接问题: LNK2005错误 :error LNK2005: _free 已经在 libcmtd.lib(dbgheap.obj) 中定义
以前经常遇到这个警告信息,因为运行并没有什么问题,所以也没深究。但是耿耿于怀那个“ 0 个错误,0 个警告”的成功提示,在网上搜了一下。原来问题出在默认库的引用选择上。
VS2008,项目——属性——配置属性——C/C++——代码生成:他有/MT,/MTd,/Md,/MDd四个选项,你必须让所有使用的库都使 用相同的配置,否则就会有相应的提示,甚至可能会出现无法解析的函数。有时我们使用的库不是自己可以控制的,那么就只能把工程属性设置成河你使用的库相同 的选项。
错误 1 error LNK2005: _free 已经在 libcmtd.lib(dbgheap.obj) 中定义 MSVCRT.lib
错误 2 error LNK2005: _malloc 已经在 libcmtd.lib(dbgheap.obj) 中定义 MSVCRT.lib
.....
如果有一堆的重定义错误发生在同一个lib中,而且跟它冲突的也是同一个lib,那么这个两个lib的功能应该是一样的,可以2选一,只要在“忽略特定的库”内填入需要忽略的库。
项目属性-配置属性-链接器-输入-忽略特定的库:libcmtd.lib
项目属性-配置属性-常规-MFC的使用:在共享 DLL 中使用 MFC // 我是通过该方法解决的
编译通过,但是运行会出错,最后还是恢复了
最后在 连接->input->additional dependencies 里面加入了
//NODEFAULTLIB:msvcrtd.lib
编译通过,运行也没有问题。
- VS2008编译问题!
- VS2008编译问题
- VS2008 putty 源码编译问题
- VS2008编译chrominu问题汇总
- vs2008 dlib编译问题USER_ERROR__missing_dlib_all_source_cpp_file__OR__inconsistent_use_of_DEBUG_or_ENABLE
- VS2008升级到VS2010后编译问题
- vs2008编译连接出现的一个问题
- VS2008编译多种版本 文件问题
- VS2008 编译驱动时的问题
- VS2008编译Qt4程序出现的问题
- vs2010编译vs2008工程的问题
- VS2008每次build都重新编译问题
- VS2008编译64位程序的平台设置问题
- code::blocks在vs2008下编译的一个问题
- 解决VMware6.5导致VS2005,VS2008编译自动退出问题
- VS2008 编译 DirectX SDK BaseClasses 时的问题
- VS2008下编译问题:缺少dll文件的处理方法。
- VS2008中编译64位程序以及遇到的问题
- 配置文件书写
- 第14章 错误处理与调试 (二)
- 近一个月来的收获
- objective-c产生随机数
- 电脑工程师的情书
- VS2008编译问题!
- 高手的25个标准
- 【设计模式】【披着羊皮的狼——适配器模式起源的传说】
- 第14章 错误处理与调试 (三)
- ==把VIM打造成开发C的IDE==
- ie6下height高度问题
- Android应用程序签名详解
- 计算机期刊杂志投稿指南
- 【设计模式】【狼和羊的爱情故事——双向适配器】