由于我无法从发布版本更改为调试版本类型,我想知道我做错了什么.我正在使用Unix Makefiles.
在docs.biicode.com/c /building.html中说明如何在CMakeLists.txt中添加SET()将变量添加到cmake.
我是cmake和biicode的新手,我尝试了以下所有方法:
ADD_DEFINITIONS(-DCMAKE_BUILD_TYPE=Debug) ADD_DEFINITIONS(-DCMAKE_BUILD_TYPE:STRING=Debug) SET(CMAKE_BUILD_TYPE Debug) target_compile_options(my_program PUBLIC $<$<CONFIG:Debug>:-Werror>)
但是gdb说“找不到调试符号”.
另一种方式,作为状态bii –help cpp,传递给将传递给cmake的cpp:build参数,但是调用
bii cpp:build -DCMAKE_BUILD_TYPE=Debug
产量
Building: cmake --build . -DCMAKE_BUILD_TYPE=Debug Unknown argument -DCMAKE_BUILD_TYPE=Debug
但直接打电话
cmake -DCMAKE_BUILD_TYPE=Debug --build .
工作正常,我不知道如何更改bii cpp:build命令中的顺序.
解决方法
从
biicode docs开始,您似乎需要使用bii cpp:configure命令将参数传递给CMake,而不是bii cpp:build.
正如@ruslo评论的那样,在实际的CMakeLists.txt中设置CMAKE_BUILD_TYPE(see his answer以获取更多详细信息)并不是一个好习惯,因此您可能希望这样做:
bii cpp:configure -DCMAKE_BUILD_TYPE=Debug bii cpp:build
我意识到你说你正在使用Unix makefile,但是如果你使用的是多配置生成器(比如Visual Studio),那么构建类型不会在配置时设置.而是在构建时设置.在那种情况下,我希望biicode命令更像:
bii cpp:configure -G "Visual Studio 12 Win64" bii cpp:build --config Debug