查看: 1849|回复: 3

msvcrtd.lib和libcmtd.lib库冲突

[复制链接]

该用户从未签到

发表于 2011-7-27 10:28:57 | 显示全部楼层 |阅读模式
我是在静态库版的OSG下写的代码,简单加载个osg的模型没有问题,之后加入读取jpeg的插件就报:

1>msvcrtd.lib(ti_inst.obj) : error LNK2005: "private: class type_info & __thiscall type_info:perator=(class type_info const &)" (??4type_info@@AAEAAV0@ABV0@@Z) 已经在 LIBCMTD.lib(typinfo.obj) 中定义
1>msvcrtd.lib(MSVCR90D.dll) : error LNK2005: _exit 已经在 LIBCMTD.lib(crt0dat.obj) 中定义
....

10个这样的错误。我用的运行时库是MTd,是不是我的机器上这两个库版本不对,还是说msvcrtd只能用dll而不能用lib?因为我的OSG环境是全静态库。

该用户从未签到

发表于 2011-7-27 10:44:58 | 显示全部楼层
忽略libcmtd.lib库 就可以吗!

该用户从未签到

 楼主| 发表于 2011-7-27 11:14:46 | 显示全部楼层
谢谢xairwolfcn,我试过,两个忽略哪个都会报无法解析的外部符号,就是说这两个库缺哪个都不行,都加上又冲突,按理说它们两应该是一样的都是一些基本的底层函数库(比如printf之类的),只不过libcmtd.lib针对静态链接,msvcrtd.lib(dll)针对动态链接,就奇怪在这。

理论上应该没msvctd.lib(dll)的事儿,而且它是导入库,运行时需要相应的dll,继续求救!

该用户从未签到

发表于 2011-7-28 08:21:54 | 显示全部楼层
请设置/MD或者/MDd
您需要登录后才可以回帖 登录 | 注册

本版积分规则

OSG中国官方论坛-有您OSG在中国才更好

网站简介:osgChina是国内首个三维相关技术开源社区,旨在为国内更多的技术开发人员提供最前沿的技术资讯,为更多的三维从业者提供一个学习、交流的技术平台。

联系我们

  • 工作时间:09:00--18:00
  • 反馈邮箱:1315785073@qq.com
快速回复 返回顶部 返回列表