2016-07-29 4 views
1

나는이 내 코드에서 다음 디버그 문 :Clion : 디버그 수준을 정의하는 방법?

#if (DEBUG_LEVEL > 0) 
     printf("ITER %d\n", iter); 
#endif 

가 어떻게 Clion 디버거에서 디버그 수준을 정의 할 수 있습니다? CMAKE를 사용해야합니까?

if (DEBUG_LEVEL) 
    add_definitions(-DDEBUG_LEVEL=${DEBUG_LEVEL}) 
endif() 

그것은 기본적으로 말한다 : DEBUG_LEVEL "당신이있는 경우"

  • "CMake 변수가 정의, 컴파일러에 DEBUG_LEVEL=X 처리기 정의를 통과"

  • 답변

    1
    1. CMakeLists.txt 당신에 다음을 추가 변수의 원하는 값 (예 : -DDEBUG_LEVEL=1)을 CMake에 전달하십시오 (CLION에서는 Options | Build, Execution, Deployment | CMake | CMake options을 통해 수행 할 수 있음).

    이렇게하면 CMakeLists.txt를 한 번 편집해야하지만 소스 코드를 건드리지 않고 실제 값을 변경할 수 있습니다.

    나는 CMakeLists.txt를 전혀 건드리지 않고 해킹 할 수 있다고 생각하지만 위의 접근법은보다 직관적이고 관용적 인 것처럼 보입니다.

    +0

    답변 해 주셔서 감사합니다. 네, 글로벌 변수가이 문제를 해결할 수 있지만 솔루션이 훨씬 더 좋습니다 : D – spacegoing