如何在 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 中。无论我选择什么运行时,MD 或 MDd,我都不能让它在 中工作>释放模式。所以我想知道我的 DCMTK 是否有问题。
我首先只安装 DCMTK 的 debug 版本,一周后我安装 发布模式,方便在其他电脑上测试。我发现它都安装在同一路径中。所以我能做些什么才能让它离开。所以我可以使用 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版本的程序