码迷,mamicode.com
首页 > 其他好文 > 详细

VC运行库版本不同导致链接.LIB静态库时发生重复定义问题的一个案例分析和总结

时间:2018-10-25 11:18:07      阅读:202      评论:0      收藏:0      [点我收藏+]

标签:net   不同的   details   msdn   部分   blog   stand   错误   分析   

原文链接地址:https://blog.csdn.net/ithzhang/article/details/13170047

MSDN中对于在不同的配置下Link的LIB作了说明:

C Runtime Library:

开关

对应的库

版本
/MD MSVCRT.LIB 多线程DLL的Release版本
/MDd MSVCRTD.LIB

多线程DLL的Debug版本

/MT

LIBCMT.LIB

多线程静态链接的Release版本

/MTd

LIBCMTD.LIB

多线程静态链接的Debug版本

/clr

MSVCMRT.LIB

托管代码和非托管代码混合

/clr:pure MSVCURT.LIB

纯托管代码

 

C++ Standard Library:

开关

对应的库

版本
/MD MSVCPRT.LIB 多线程DLL的Release版本
/MDd MSVCPRTD.LIB

多线程DLL的Debug版本

/MT

LIBCPMT.LIB

多线程静态链接的Release版本

/MTd

LIBCPMTD.LIB

多线程静态链接的Debug版本

编译器会自动根据编译选项,选择对应的LIB文件。一般情况下这不会出现问题。

然而,在部分情况下,一旦你的程序的各个部分(LIB, OBJ…)并非由相同的编译选项编译出,而Link在一起的话,会出现各种各样的看似很难解决的问题,这类问题主要以重复定义的错误形式存在,通常的解决方法也很简单,就是选择同样的编译选项进行编译之后再Link。

VC运行库版本不同导致链接.LIB静态库时发生重复定义问题的一个案例分析和总结

标签:net   不同的   details   msdn   部分   blog   stand   错误   分析   

原文地址:https://www.cnblogs.com/wuyuan2011woaini/p/9847718.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!