如何在VS2005中构建使用MDd dll的MTd项目

时间:2010-01-28 11:41:41

标签: linker msvcrt static-linking crt

我在Visual Studio 2005中使用项目属性构建我的应用程序 - > c / c ++ - > CodeGeneration-> RuntimeLib:MTd(使用静态CRT库-LIBCMTD)。该应用程序使用的是第三方dll和libs,它们是用MDd构建的(使用动态CRT lib-MSVCRTD)。

我收到链接器错误: MSVCRTD.lib(MSVCR80D.dll):错误LNK2005:__ mktime64已在LIBCMTD.lib中定义(mktime64.obj) MSVCRTD.lib(MSVCR80D.dll):错误LNK2005:__gmtime64已在LIBCMTD.lib中定义(gmtime64.obj) MSVCRTD.lib(MSVCR80D.dll):错误LNK2005:已在LIBCMTD.lib(loctim64.obj)中定义__localtime64

我无法更改第三方设置。如果我动态使用CRT lib,我的应用程序运行正常,但我无法改变它。

由于

2 个答案:

答案 0 :(得分:3)

有一个开关强制链接器忽略多个定义: http://msdn.microsoft.com/en-us/library/70abkas3.aspx

答案 1 :(得分:2)

/NODEFAULTLIB开关也可以提供帮助。