如何在 Debug 和 Release 版本中同时安装 Dcmtk

Posted

技术标签:

【中文标题】如何在 Debug 和 Release 版本中同时安装 Dcmtk【英文标题】:How can I install Dcmtk in Debug and Release version at the same time 【发布时间】:2018-04-26 11:57:46 【问题描述】:

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

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 中,我在 Release 中将我的项目运行时更改为 MDd 模式/strong> 模式。这很有线!我认为 MDd 属于 Debug 模式,但这是我可以在 中运行程序的唯一方法>在 VS2015 中发布模式。

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

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

【问题讨论】:

不要将它们安装在同一路径中?然后让你的 debug 版本参考 Dcmtk 的 debug 库,并使用 Dcmtk 的 release 库作为你的 release 版本。 【参考方案1】:

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

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

【讨论】:

谢谢~~我以后试试~~

以上是关于如何在 Debug 和 Release 版本中同时安装 Dcmtk的主要内容,如果未能解决你的问题,请参考以下文章

如何使用Cmake生成debug版本和release版本的程序

如何将debug版本的so库变成release版本?

有啥方法可以同时构建 Release 和 Debug 吗?

VS中Debug模式和Release模式的区别

android studio release和debug的区别

在C++中,Debug版本能顺利运行,但Release版本有时却不能运行,为啥?