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

Linker 如何在VS2005中构建使用MDd DLL的MTd项目,linker,msvcrt,static-linking,crt,Linker,Msvcrt,Static Linking,Crt,我正在VisualStudio2005中构建我的应用程序,使用项目属性->c/c++->代码生成->RuntimeLib:MTd,使用静态CRT库LIBCMTD。该应用程序使用第三方DLL和lib,它们内置于MDdusing dynamic CRT lib-MSVCRTD中 我收到的链接器错误如下: msvctd.libMSVCR80D.dll:错误LNK2005:_mktime64已在LIBCMTD.libmktime64.obj中定义 msvctd.libMSVCR80D.dll:错误LNK

我正在VisualStudio2005中构建我的应用程序,使用项目属性->c/c++->代码生成->RuntimeLib:MTd,使用静态CRT库LIBCMTD。该应用程序使用第三方DLL和lib,它们内置于MDdusing dynamic CRT lib-MSVCRTD中

我收到的链接器错误如下: msvctd.libMSVCR80D.dll:错误LNK2005:_mktime64已在LIBCMTD.libmktime64.obj中定义 msvctd.libMSVCR80D.dll:错误LNK2005:_gmtime64已在LIBCMTD.libgmtime64.obj中定义 MSVCRTD.libMSVCR80D.dll:错误LNK2005:_localtime64已在LIBCMTD.libloctim64.obj中定义

我无法更改第三方设置。如果我动态使用CRT库,我的应用程序运行良好,但我无法更改这一点


谢谢

有一个开关可以强制链接器忽略多个定义:

开关也会有帮助。

有没有其他解决方案?不知怎的,我觉得这样设置是不安全的。谢谢你。。。但这是我唯一知道的。如果你这样做的话,在你建立一个发布版本之前,最好在没有这个开关的情况下进行构建,以检查除了CRT库的定义之外,是否还有其他可能不需要的多个定义。这是非常有价值的!我已经和它斗争了将近一个星期,我不知道这个转变。非常感谢。是的,我知道这可能是一个快速破解,但这正是我想要的