使用开源库,vs2010出来了很多错误,求解答

淡淡如水 2013-05-16 02:24:13
>MSVCRTD.lib(MSVCR100D.dll) : error LNK2005: _fsetpos 已经在 LIBCMTD.lib(fsetpos.obj) 中定义
1>MSVCRTD.lib(MSVCR100D.dll) : error LNK2005: ___iob_func 已经在 LIBCMTD.lib(_file.obj) 中定义
1>MSVCRTD.lib(MSVCR100D.dll) : error LNK2005: _exit 已经在 LIBCMTD.lib(crt0dat.obj) 中定义
1>MSVCRTD.lib(MSVCR100D.dll) : error LNK2005: _fprintf 已经在 LIBCMTD.lib(fprintf.obj) 中定义
1>MSVCRTD.lib(MSVCR100D.dll) : error LNK2005: _abort 已经在 LIBCMTD.lib(abort.obj) 中定义
1>MSVCRTD.lib(MSVCR100D.dll) : error LNK2005: _atoi 已经在 LIBCMTD.lib(atox.obj) 中定义
1>MSVCRTD.lib(MSVCR100D.dll) : error LNK2005: __lock_file 已经在 LIBCMTD.lib(_file.obj) 中定义
1>MSVCRTD.lib(MSVCR100D.dll) : error LNK2005: __unlock_file 已经在 LIBCMTD.lib(_file.obj) 中定义
1>MSVCRTD.lib(MSVCR100D.dll) : error LNK2005: _fputc 已经在 LIBCMTD.lib(fputc.obj) 中定义
1>MSVCRTD.lib(MSVCR100D.dll) : error LNK2005: _ungetc 已经在 LIBCMTD.lib(ungetc.obj) 中定义
1>MSVCRTD.lib(MSVCR100D.dll) : error LNK2005: _memcpy_s 已经在 LIBCMTD.lib(memcpy_s.obj) 中定义
1>MSVCRTD.lib(MSVCR100D.dll) : error LNK2005: _fgetc 已经在 LIBCMTD.lib(fgetc.obj) 中定义
1>MSVCRTD.lib(MSVCR100D.dll) : error LNK2005: __fseeki64 已经在 LIBCMTD.lib(fseeki64.obj) 中定义
1>MSVCRTD.lib(MSVCR100D.dll) : error LNK2005: _setvbuf 已经在 LIBCMTD.lib(setvbuf.obj) 中定义
1>MSVCRTD.lib(MSVCR100D.dll) : error LNK2005: __invalid_parameter 已经在 LIBCMTD.lib(invarg.obj) 中定义
1>MSVCRTD.lib(MSVCR100D.dll) : error LNK2005: __CrtDbgReportW 已经在 LIBCMTD.lib(dbgrptw.obj) 中定义


库冲突了,我知道,可是忽略掉库后会出来另外的错误,无奈啊,请教啊
...全文
688 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
一枪尽骚丶魂 2014-11-13
  • 打赏
  • 举报
回复
“属性”->“链接器”->“输入”->“忽略特定默认库” 将LIBCMTD.lib写入就可以了;
招财猫_Martin 2013-07-16
  • 打赏
  • 举报
回复
开源的库需要进行预处理,建议你详细看下开源库对各个平台编译的步骤说明。 按步骤处理不同平台下的开源版本后,再导入工程进行编译。
xingzhou 2013-07-16
  • 打赏
  • 举报
回复
上面的VC运行库严格说,应是MFC运行库
xingzhou 2013-07-16
  • 打赏
  • 举报
回复
1 网上的大型源代码,发布时理应是正确的,我们下回来后,如果编译通不过,大多数原因是头文件混淆了(同一定义出现在多个不同的头文件中),自己调整下路径的包含顺序,把新版本的头文件路径放在最前面; 2 你这个连接错误,大多数情况是链接器混淆了C运行库和VC运行库,2者只能使用一个,如果同时使用,会出现一堆同名错误。可以参考这篇文章,或许有帮助:http://www.xingzhou.name/2013/04/21/729/
淡淡如水 2013-07-16
  • 打赏
  • 举报
回复
重新新建立一个工程,重新编译工程,结果发现如下“ Image FusionDlg.cpp 1>c:\program files\microsoft visual studio 10.0\vc\include\boost\mpl\int_fwd.hpp(22): error C2143: 语法错误 : 缺少“,”(在“常量”的前面) 1>c:\program files\microsoft visual studio 10.0\vc\include\boost\mpl\aux_\integral_wrapper.hpp(42): error C2143: 语法错误 : 缺少“,”(在“常量”的前面) 1>c:\program files\microsoft visual studio 10.0\vc\include\boost\mpl\aux_\integral_wrapper.hpp(84): error C2143: 语法错误 : 缺少“,”(在“常量”的前面) 1>c:\program files\microsoft visual studio 10.0\vc\include\boost\mpl\aux_\integral_wrapper.hpp(84): error C3211: “boost::mpl::int_<__formal>::value”: 显式专用化正在使用部分专用化语法,请改用模板 <> 1> with 1> [ 1> __formal=200 1> ] 1> c:\program files\microsoft visual studio 10.0\vc\include\boost\mpl\aux_\integral_wrapper.hpp(45) : 参见“boost::mpl::int_<__formal>::value”的声明 1> with 1> [ 1> __formal=200 1> ] 1>c:\program files\microsoft visual studio 10.0\vc\include\boost\mpl\integral_c_fwd.hpp(26): error C2143: 语法错误 : 缺少“,”(在“常量”的前面) 1>c:\program files\microsoft visual studio 10.0\vc\include\boost\mpl\aux_\integral_wrapper.hpp(42): error C2143: 语法错误 : 缺少“,”(在“常量”的前面) 1>c:\program files\microsoft visual studio 10.0\vc\include\boost\mpl\aux_\integral_wrapper.hpp(84): error C2143: 语法错误 : 缺少“,”(在“常量”的前面) 1>c:\program files\microsoft visual studio 10.0\vc\include\boost\mpl\aux_\integral_wrapper.hpp(85): error C3860: 模板 参数列表(在类 模板 名称后面)必须按 模板 参数列表中使用的顺序列出参数 1>c:\program files\microsoft visual studio 10.0\vc\include\boost\mpl\size_t_fwd.hpp(23): error C2143: 语法错误 : 缺少“,”(在“常量”的前面) 1>c:\program files\microsoft visual studio 10.0\vc\include\boost\mpl\aux_\integral_wrapper.hpp(42): error C2143: 语法错误 : 缺少“,”(在“常量”的前面) 1>c:\program files\microsoft visual studio 10.0\vc\include\boost\mpl\aux_\integral_wrapper.hpp(84): error C2143: 语法错误 : 缺少“,”(在“常量”的前面) 1>c:\program files\microsoft visual studio 10.0\vc\include\boost\mpl\aux_\integral_wrapper.hpp(84): error C3211: “boost::mpl::size_t<__formal>::value”: 显式专用化正在使用部分专用化语法,请改用模板 <> 1> with 1> [ 1> __formal=200 1> ] 1> c:\program files\microsoft visual studio 10.0\vc\include\boost\mpl\aux_\integral_wrapper.hpp(45) : 参见“boost::mpl::size_t<__formal>::value”的声明 1> with 1> [ 1> __formal=200 1> ] 1>c:\program files\microsoft visual studio 10.0\vc\include\boost\type_traits\is_array.hpp(36): error C2143: 语法错误 : 缺少“,”(在“常量”的前面) 1>c:\program files\microsoft visual studio 10.0\vc\include\boost\type_traits\is_array.hpp(36): error C2764: “unnamed-parameter”: 部分专用化“boost::is_array<T[200]>”中未使用或不能推导出的模板参数 1>c:\program files\microsoft visual studio 10.0\vc\include\boost\type_traits\is_array.hpp(37): error C2143: 语法错误 : 缺少“,”(在“常量”的前面) 1>c:\program files\microsoft visual studio 10.0\vc\include\boost\type_traits\is_array.hpp(37): error C2764: “unnamed-parameter”: 部分专用化“boost::is_array<const T[200]>”中未使用或不能推导出的模板参数 1>c:\program files\microsoft visual studio 10.0\vc\include\boost\type_traits\is_array.hpp(38): error C2143: 语法错误 : 缺少“,”(在“常量”的前面) 1>c:\program files\microsoft visual studio 10.0\vc\include\boost\type_traits\is_array.hpp(38): error C2764: “unnamed-parameter”: 部分专用化“boost::is_array<volatile T[200]>”中未使用或不能推导出的模板参数 1>c:\program files\microsoft visual studio 10.0\vc\include\boost\type_traits\is_array.hpp(39): error C2143: 语法错误 : 缺少“,”(在“常量”的前面) 1>c:\program files\microsoft visual studio 10.0\vc\include\boost\type_traits\is_array.hpp(39): error C2764: “unnamed-parameter”: 部分专用化“boost::is_array<volatile const T[200]>”中未使用或不能推导出的模板参数 1>c:\program files\microsoft visual studio 10.0\vc\include\boost\type_traits\remove_cv.hpp(59): error C2143: 语法错误 : 缺少“,”(在“常量”的前面) 1>c:\program files\microsoft visual studio 10.0\vc\include\boost\type_traits\remove_cv.hpp(59): error C2764: “unnamed-parameter”: 部分专用化“boost::remove_cv<const T[200]>”中未使用或不能推导出的模板参数 1>c:\program files\microsoft visual studio 10.0\vc\include\boost\type_traits\remove_cv.hpp(60): error C2143: 语法错误 : 缺少“,”(在“常量”的前面) 1>c:\program files\microsoft visual studio 10.0\vc\include\boost\type_traits\remove_cv.hpp(60): error C2764: “unnamed-parameter”: 部分专用化“boost::remove_cv<volatile T[200]>”中未使用或不能推导出的模板参数 1>c:\program files\microsoft visual studio 10.0\vc\include\boost\type_traits\remove_cv.hpp(61): error C2143: 语法错误 : 缺少“,”(在“常量”的前面) 1>c:\program files\microsoft visual studio 10.0\vc\include\boost\type_traits\remove_cv.hpp(61): error C2764: “unnamed-parameter”: 部分专用化“boost::remove_cv<volatile const T[200]>”中未使用或不能推导出的模板参数 1>c:\program files\microsoft visual studio 10.0\vc\include\boost\type_traits\type_with_alignment.hpp(207): error C2338: found % Align == 0 1> c:\program files\microsoft visual studio 10.0\vc\include\boost\type_traits\type_with_alignment.hpp(308): 参见对正在编译的类 模板 实例化“boost::detail::type_with_alignment_imp<Align>”的引用 1> with 1> [ 1> Align=16 1> ] 1>c:\program files\microsoft visual studio 10.0\vc\include\boost\type_traits\type_with_alignment.hpp(207): error C2338: found % Align == 0 1> c:\program files\microsoft visual studio 10.0\vc\include\boost\type_traits\type_with_alignment.hpp(317): 参见对正在编译的类 模板 实例化“boost::detail::type_with_alignment_imp<Align>”的引用 1> with 1> [ 1> Align=32 1> ] 1>c:\program files\microsoft visual studio 10.0\vc\include\boost\type_traits\type_with_alignment.hpp(207): error C2338: found % Align == 0 1> c:\program files\microsoft visual studio 10.0\vc\include\boost\type_traits\type_with_alignment.hpp(325): 参见对正在编译的类 模板 实例化“boost::detail::type_with_alignment_imp<Align>”的引用 1> with 1> [ 1> Align=64 1> ] 1>c:\program files\microsoft visual studio 10.0\vc\include\boost\type_traits\type_with_alignment.hpp(207): error C2338: found % Align == 0 1> c:\program files\microsoft visual studio 10.0\vc\include\boost\type_traits\type_with_alignment.hpp(333): 参见对正在编译的类 模板 实例化“boost::detail::type_with_alignment_imp<Align>”的引用 1> with 1> [ 1> Align=128 1> ] 1>c:\program files\microsoft visual studio 10.0\vc\include\boost\utility\swap.hpp(36): error C2143: 语法错误 : 缺少“,”(在“常量”的前面) 1>c:\program files\microsoft visual studio 10.0\vc\include\boost\utility\in_place_factory.hpp(32): warning C4005: “N”: 宏重定义 1> e:\projects\fusion\pdb\encryption.h(9) : 参见“N”的前一个定义 1>c:\program files\microsoft visual studio 10.0\vc\include\boost\multi_index_container.hpp(736): error C2059: 语法错误:“常量” 1> c:\program files\microsoft visual studio 10.0\vc\include\boost\multi_index_container.hpp(742): 参见对正在编译的类 模板 实例化“boost::multi_index::nth_index<MultiIndexContainer,N>”的引用 1>c:\program files\microsoft visual studio 10.0\vc\include\boost\multi_index_container.hpp(736): error C2238: 意外的标记位于“;”之前 1>c:\program files\microsoft visual studio 10.0\vc\include\boost\bind\bind.hpp(1661): error C2332: “class”: 缺少标记名 1>c:\program files\microsoft visual studio 10.0\vc\include\boost\bind\bind.hpp(1661): error C2011: “<unnamed-tag>”:“enum”类型重定义 1> c:\program files\microsoft visual studio 10.0\vc\atlmfc\include\afxpriv.h(204) : 参见“<unnamed-tag>”的声明 1>c:\program files\microsoft visual studio 10.0\vc\include\boost\bind\bind.hpp(1661): error C2143: 语法错误 : 缺少“,”(在“常量”的前面) 1>c:\program files\microsoft visual studio 10.0\vc\include\boost\bind\bind.hpp(1661): error C2653: “T”: 不是类或命名空间名称 1>c:\program files\microsoft visual studio 10.0\vc\include\boost\bind\bind.hpp(1661): error C2645: 指向成员的指针没有限定名(找到“:: *”) 1>c:\program files\microsoft visual studio 10.0\vc\include\boost\bind\bind.hpp(1661): fatal error C1903: 无法从以前的错误中恢复;正在停止编译 1> Image Fusion.cpp 1> BurnReadyDlg.cpp 1>e:\projects\fusion\pms\burnreadydlg.cpp(224): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. 1> c:\program files\microsoft visual studio 10.0\vc\include\string.h(110) : 参见“strcat”的声明 1>e:\projects\fusion\pms\burnreadydlg.cpp(245): warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. 1> c:\program files\microsoft visual studio 10.0\vc\include\stdio.h(371) : 参见“sprintf”的声明 1>e:\projects\fusion\pms\burnreadydlg.cpp(248): warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. 1> c:\program files\microsoft visual studio 10.0\vc\include\stdio.h(371) : 参见“sprintf”的声明 1>e:\projects\fusion\pms\burnreadydlg.cpp(261): warning C4996: 'itoa': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _itoa. See online help for details. 1> c:\program files\microsoft visual studio 10.0\vc\include\stdlib.h(867) : 参见“itoa”的声明 就是把初始工程拿过来,编译通过,加入了自己的lib之后就有了上面的错误
淡淡如水 2013-05-23
  • 打赏
  • 举报
回复
http://bbs.csdn.net/topics/390431590/close 这个帖子,请管理员帮我删帖吧,拜托
qukuai_yin 2013-05-23
  • 打赏
  • 举报
回复
vs2008导入库是有先后顺序的,你的查查看!
afairycell 2013-05-23
  • 打赏
  • 举报
回复
一般不是头文件顺序不对就是库文件顺序不对了,你用什么库。。LIBCMTD库一般都可以忽略
jielin2012 2013-05-23
  • 打赏
  • 举报
回复
是使用OPENCV的库吗。如果是的话,就去OPENCV中文网站下看看步骤吧。肯定是路径不对。
我不懂电脑 2013-05-17
  • 打赏
  • 举报
回复
有多重定义,加名字空间来区别
parhelia512 2013-05-16
  • 打赏
  • 举报
回复
忽略LIBCMTD后出现什么错误,贴出来看看

16,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧