我正在开发一个使用第三方 dll 和库的项目。我想使用静态 CRT (LIBCMTD) 构建我的项目,因为我希望在“IBM purifier”中运行我的应用程序。但是,第三方库是使用动态 CRT(MSVCRT) 构建的。
这给出了链接错误: 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: __localtime64 已在 LIBCMTD.lib(loctim64.obj) 中定义
我尝试了各种链接器设置。我还给链接器命令行提供了 /FORCE:MULTIPLE 以忽略多个定义并创建一个构建。它这样做了,但我的应用程序仍然无法在净化器中运行。
有没有一种好方法可以做我想要实现的目标?我无法控制第 3 方源代码来控制他们的设置。
谢谢