使用多线程调试 DLL (/MDd) C 运行时库构建静态 Opencv 库
Posted
技术标签:
【中文标题】使用多线程调试 DLL (/MDd) C 运行时库构建静态 Opencv 库【英文标题】:Build the static Opencv library with multi-threaded debug DLL (/MDd) C runtime library 【发布时间】:2013-11-04 16:34:28 【问题描述】:我现在正在尝试使用 cmake 构建 opencv,如果我使用以下命令:
cmake -DBUILD_SHARED_LIBS=OFF ..
我可以构建一个静态 OPENCV 库。但是,构建的库静态链接 C 运行时库。在 VC2010 中,它使用多线程调试 (/MTd) 选项。我期望动态链接 C 运行时库,即在 VC2010 中使用 /MDd 选项,那么我该怎么做才能使它成为可能?谢谢。
【问题讨论】:
请问为什么需要部分静态和部分动态? @guneykayim 感谢您的 cmets。我现在正在使用 boost 单元测试框架,而在这个框架内使用动态 C 运行时库是唯一的选择。 【参考方案1】:在 CMake 命令行中添加 -DBUILD_WITH_STATIC_CRT=OFF
:
cmake -DBUILD_SHARED_LIBS=OFF -DBUILD_WITH_STATIC_CRT=OFF ..
【讨论】:
以上是关于使用多线程调试 DLL (/MDd) C 运行时库构建静态 Opencv 库的主要内容,如果未能解决你的问题,请参考以下文章
Visual C++:发布模式的运行时库作为“多线程调试 DLL”