我使用 CMake 为稍后发出的 make 命令生成所有必要的文件。在 CMake 中,我可以将构建类型(和其他相关变量)设置为 debug 或 -g,然后在 make 生成可执行文件后使用 gdb 对其进行调试。我的问题是:我可以向 make 命令传递一个参数来告诉它在调试或发布模式下编译,而不必在 CMake 中设置它吗?如果我想在编译期间经常在发布和调试之间切换,我需要继续回到 CMake。如果我能避免这种情况,那就太好了。我希望这个问题很清楚。
谢谢
您可以做的是使用源外系统,在该系统中您将使用具有不同 cmake 标志的 2 个不同构建目录。想象一下您的目录结构如下:
source/CMakeLists.txt
build-release/
build/debug/
当你创建你的环境时,你会这样做:
在build-release
cmake ../source -DCMAKE_BUILD_TYPE=Release
在build-debug
cmake ../source -DCMAKE_BUILD_TYPE=Debug
然后要在两种构建类型之间切换,您只需要更改目录并运行 make。