Wak*_*nka 2 cmake libharu cmake-gui
CMAKE_BUILD_TYPE当我想获取调试或发布项目构建时,建议将这里作为参数传递给 cmake。我正在尝试用 cmake编译libharu,我想用调试符号编译它。我搜索了libharu 中包含的 CMakeLists.txt 以查找以下字符串:
CMAKE_BUILD_TYPE
CMAKE_C_FLAGS_RELEASE
CMAKE_C_FLAGS_DEBUG
Run Code Online (Sandbox Code Playgroud)
但我什么也没找到。我的问题是,指定libharu的 CMakeLists.txtCMAKE_BUILD_TYPE何时没有提及它是否有意义?如果没有,我如何使用调试符号编译libharu?
PS:我注意到使用 cmake 为 Visual Studio 2013 生成的项目设置了 Debug/Win32,这是否足够?在 CMakeLists.txt 中的何处指定了此信息?
PPS:我想这个问题在很大程度上取决于特定的项目,但一般来说有什么方法可以做到这一点吗?我的意思是,CMAKE_BUILD_TYPE=Debug总是创建 Debug 版本还是我应该注意其他一些事情?
谢谢
通过CMAKE_BUILD_TYPE将编译器的一组附加选项切换为一个来设置配置类型,这通常反映了配置的含义。也就是说,通过
-DCMAKE_BUILD_TYPE=Debug
Run Code Online (Sandbox Code Playgroud)
要cmake告诉编译器生成调试信息,除非修改的CMakeLists.txt这种行为。
依赖于配置的编译器选项包含在 variables 中CMAKE_<LANG>_FLAGS_<CONFIG>。例如,变量CMAKE_C_FLAGS_DEBUG在“调试”配置中包含 C 编译器的附加选项。这些变量由 CMake 自动填充,并且CMakeLists.txt本身很少修改它们。
因此,如果您发现它CMakeLists.txt与变量CMAKE_BUILD_TYPEand无关CMAKE_<LANG>_FLAGS_<CONFIG>,那么它遵循有关配置 type 的常见约定。
这并不意味着不CMakeLists.txt 应该使用这些变量。
通常CMakeLists.txt设置CMAKE_BUILD_TYPE为某个默认值,前提是该变量不是由用户设置的,并且使用的是单一配置生成器。如果编译器的默认设置不适合项目,CMakeLists.txt也可以设置一些变量CMAKE_<LANG>_FLAGS_<CONFIG>。
但即使CMakeLists.txt不触及这些变量,它们也能工作。
| 归档时间: |
|
| 查看次数: |
7145 次 |
| 最近记录: |