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