1

大家好~我正在做一些关于测试我的程序的工作,该程序使用DCMTK加载 Dicom 文件和其他东西。但是我发现我的程序只能在调试模式下工作。当我更改为发布模式时,出现以下错误

DCMTK ofstd.lib(ofmath.obj):-1: error: LNK2038: detect "RuntimeLibrary" unmatch: value "MDd_DynamicDebug"no match value "MD_DynamicRelease"(in main.obj)

有很多这样的错误。

在 Visual Studio 2015 中,我在发布模式下将项目运行时更改为MDd模式。这很有线!我认为MDd属于调试模式,但这是我可以在 VS2015中以发布模式运行程序的唯一方法。

最大的问题发生在 Qt Creator 中。无论我选择什么运行时,MDMDd,我都不能让它在发布模式下工作。所以我想知道我的 DCMTK 是否有问题。

我一开始只安装了DCMTK的调试版,一周后我安装了发布模式,方便在其他电脑上测试。我发现它都安装在同一路径中。所以我能做什么才能让它离开。所以我可以使用 Debug 和 Release 。

4

1 回答 1

1

为了将 DCMTK 的 Release 和 Debug 版本安装到同一目录中,您可以将高级 CMake 选项 CMAKE_DEBUG_POSTFIX 设置为“_d”(默认为“”)。

另外,我建议将 CMake 选项 DCMTK_OVERWRITE_WIN32_COMPILER_FLAGS 设置为“OFF”来构建 DCMTK(当将 DCMTK 与 Qt 等其他库集成时)。这让 CMake 找出“最佳”编译器设置(而不是用 VisualStudio 的 DCMTK 默认值覆盖它们)。

于 2018-04-27T10:09:41.240 回答