In this答案,它说 Debug 是默认的 cmake 构建配置。
但我有不同的观察:
我在 CMakeLists.txt 中有以下内容,可以根据当前的构建配置选择库的调试和发布版本。
target_link_libraries(MyApp debug Widgets_d)
target_link_libraries(MyApp optimized Widgets)
似乎当我调用 cmake 而不指定 -DCMAKE_BUILD_TYPE 标志时,使用 Widgets 而不是 Widgets_d (当我删除 Widgets 并尝试构建时,make 抱怨 lib 不存在)。因此,这意味着默认情况下构建配置是优化的,而不是调试的。
那么默认的构建配置实际上是什么?如果是调试,我的 CMakelists.txt 可能有什么问题?
是否取决于您使用的是单配置生成器(Makefile)还是多配置生成器(Visual Studio、XCode)。
The link问题中引用的是关于多配置生成器。当使用多配置生成器时,配置变量CMAKE_BUILD_TYPE
被忽略。要选择要构建的配置,cmake 允许切换--config
。在许多情况下,省略--config
建立一个Debug
配置,但目前CMake 文档现在澄清没有指定的默认值 - 它甚至可以为空。
然而,当使用单配置生成器时,开关--config
被忽略。仅配置变量CMAKE_BUILD_TYPE
用于确定构建类型。默认值取决于工具链(请参阅docs).
有关单配置和多配置生成器的更多背景信息,请参阅这个答案.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)