大家好〜我正在做一些有关测试我的程序的工作,即使用 DCMTK 加载Dicom File和其他内容。但是我发现我的程序只能在调试模式下工作。当我更改为释放模式时,出现以下错误

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中。无论我选择哪种运行时, MD MDd ,我都不能让它在发布模式下工作。所以我想知道我的DCMTK是否有问题。

我首先只安装调试版本的DCMTK ,一周后,我安装发行版模式,以方便在其他计算机上进行测试。我发现它们都安装在同一路径中。所以我该怎么办才能使它离开。所以我可以使用Debug和Release。

最佳答案

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

我也建议使用CMake选项DCMTK_OVERWRITE_WIN32_COMPILER_FLAGS设置为“OFF”(在将DCMTK与其他库(例如Qt集成)时)构建DCMTK。这使CMake可以找到“最佳”编译器设置(而不是使用VisualStudio的DCMTK默认值覆盖它们)。

关于c++ - 如何在Debug和Release版本中同时安装Dcmtk,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50042408/

10-11 15:51