VC2005中C运行时库选择不当导致的链接问题及解决方案

VC2005C运行时库选择不当导致的链接问题及解决方案

 

Microsoft Visual C++ 2005中,如果一个EXE主工程应用程序要使用一个或几个静态LIB库,那么链接时经常会遇到符号重复定义的错误,如果排除库不当又会遇到找不到某些符号的问题,如果强制使用 /force选项链接过去又可能发生一些意想不到的运行时问题。

 

如何完美解决这个问题呢?只需要按照如下步骤进行即可:

1、确保所有LIB工程与EXE主工程的活动配置的如下配置项完全一致:

ü         配置属性->常规->项目默认值->MFC的使用

ü         配置属性->常规->项目默认值->字符集

ü         配置属性->C/C++->代码生成->运行时库

 

2、在主工程中根据不同的运行时库忽略不同的默认库:

若要使用此运行时库

请忽略这些库

单线程 (libc.lib)

libcmt.libmsvcrt.liblibcd.liblibcmtd.libmsvcrtd.lib

多线程 (libcmt.lib)

libc.libmsvcrt.liblibcd.liblibcmtd.libmsvcrtd.lib

使用 DLL 的多线程 (msvcrt.lib)

libc.liblibcmt.liblibcd.liblibcmtd.libmsvcrtd.lib

调试单线程 (libcd.lib)

libc.liblibcmt.libmsvcrt.liblibcmtd.libmsvcrtd.lib

调试多线程 (libcmtd.lib)

libc.liblibcmt.libmsvcrt.liblibcd.libmsvcrtd.lib

使用 DLL 的调试多线程 (msvcrtd.lib)

libc.liblibcmt.libmsvcrt.liblibcd.liblibcmtd.lib

忽略默认库的方法是在如下位置填写要忽略的库:

配置属性->链接器->输入->忽略特定库

条目之间以分号隔开。

 

经过上面两步,此类问题基本可以解决。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值