本文介绍了默认情况下,如何使用 CMake 使 GTest 构建/MDd(而不是/MTd)?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试尽可能无缝地将 GTestCMake 集成.但是我的测试项目的默认构建类型是 /MDd 而 GTest 默认为 /MTd.我正在手动更改 GTest 项目属性以发出调试 DLL.

I am trying to integrate GTest with CMake as seamlessly as possible. But the default build type for my test projects are /MDd and GTest defaults to /MTd. I am manually changing GTest project properties to emit debug DLL.

但是每次我对 CMakeLists.txt 进行更改时,GTest 默认返回到 /MTd.我该如何阻止?

But every time I make changes to my CMakeLists.txt, GTest defaults back to /MTd. How do I stop this?

推荐答案

您可以在包含 gtest 之前将 gtest_force_shared_crt 定义为 ON 以实现此目的.您可以通过命令行执行此操作:

You can define gtest_force_shared_crt to ON before including gtest to achieve this. You can either do this via the command line:

cmake . -Dgtest_force_shared_crt=ON

或在您的 CMakeLists.txt 中:

set(gtest_force_shared_crt ON CACHE BOOL "" FORCE)

这篇关于默认情况下,如何使用 CMake 使 GTest 构建/MDd(而不是/MTd)?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

06-13 13:15