簡體   English   中英

使用biicode cmake在調試模式下構建c ++

[英]build c++ in debug mode with biicode cmake

由於我無法從發布版本更改為調試版本類型,我想知道我做錯了什么。 我正在使用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命令中的順序。

這是一個誤解,一個sintax錯誤,還是一定有其他錯誤? 在Debug和Release之間改變的最佳位置是什么?

biicode文檔中 ,看起來你需要使用bii cpp:configure命令將參數傳遞給CMake,而不是bii cpp:build

正如@ruslo評論的CMAKE_BUILD_TYPE ,在實際的CMakeLists.txt中設置CMAKE_BUILD_TYPE並不是一個好習慣(有關詳細信息, 請參閱他的回答 ),所以你可能想要:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM