小编典典

CMake 中的调试与发布

all

在 GCC 编译的项目中,

  • 如何为每种目标类型(调试/发布)运行 CMake?
  • 如何使用 CMake 指定调试和发布 C/C++ 标志?
  • 我如何表达主可执行文件将g++与一个嵌套库一起编译gcc

阅读 128

收藏
2022-03-11

共1个答案

小编典典

使用
CMake,通常建议进行“外源”构建CMakeLists.txt在项目的根目录中创建您的。然后从项目的根目录:

mkdir Release
cd Release
cmake -DCMAKE_BUILD_TYPE=Release ..
make

对于Debug(再次从项目的根目录):

mkdir Debug
cd Debug
cmake -DCMAKE_BUILD_TYPE=Debug ..
make

Release/Debug将为您的编译器添加适当的标志。还有RelWithDebInfoMinSizeRel构建配置。


您可以通过指定可以在其中添加变量的工具链文件来修改/添加标志,例如:CMAKE_<LANG>_FLAGS_<CONFIG>_INIT

set(CMAKE_CXX_FLAGS_DEBUG_INIT "-Wall")
set(CMAKE_CXX_FLAGS_RELEASE_INIT "-Wall")

有关详细信息,请参阅CMAKE_BUILD_TYPE


至于你的第三个问题,我不确定你到底在问什么。CMake 应该自动检测并使用适合您不同源文件的编译器。

2022-03-11