1
我在我的代碼如下調試語句:Clion:如何定義調試級別?
#if (DEBUG_LEVEL > 0)
printf("ITER %d\n", iter);
#endif
我如何定義在克利翁調試器的調試級別?我需要使用CMAKE嗎?
我在我的代碼如下調試語句:Clion:如何定義調試級別?
#if (DEBUG_LEVEL > 0)
printf("ITER %d\n", iter);
#endif
我如何定義在克利翁調試器的調試級別?我需要使用CMAKE嗎?
以下內容添加到您的CMakeLists.txt
:
if (DEBUG_LEVEL)
add_definitions(-DDEBUG_LEVEL=${DEBUG_LEVEL})
endif()
它基本上說: 「如果你有 」DEBUG_LEVEL「 定義CMake的變量時,DEBUG_LEVEL=X
預處理器定義傳遞給編譯」
將變量的期望值(例如-DDEBUG_LEVEL=1
)傳遞給CMake(在CLion中,它可以通過Options | Build, Execution, Deployment | CMake | CMake options
完成)。
這樣你需要編輯你的CMakeLists.txt一次,但是你可以在不觸及源代碼的情況下改變實際值。
我想你可以在不觸及CMakeLists.txt的情況下破解它,但上面的方法似乎更直接和習慣。
感謝您的回答!是的,一個全局變量可以解決這個問題,但你的解決方案更可取:D – spacegoing