2013-04-07 1 views
5

처럼 우리가 C#에서 #endif 다음 #else DEBUG #IF 사용할 수 있습니다 알고에 출시, 그래서 내가 Qt는 이런 것을 할 수있는 같은 방법이 있다고 생각하는 방법 :, 디버그를 구별하고 어떻게든지 전처리

QString Paths::sqlScriptPath() 
{ 
#if DEBUG 
    return "D:\edocclient\edocclient-build-Desktop_Qt_4_8_4_QT4_8_4-Debug\sql"; 
#else 
    return "D:\edocclient\edocclient-build-Desktop_Qt_4_8_4_QT4_8_4-Release\sql"; 
} 

하지만 작동하지 않았습니다.

+1

비슷한 질문 : http://stackoverflow.com/questions/11714118/detect-if-qt-is-running-a-debug-build-at-runtime – warunanc

답변

4

올바른 Qt 매크로는 QT_DEBUG입니다. 그래서 코드는 다음과 같습니다

QString Paths::sqlScriptPath() 
{ 
#ifdef QT_DEBUG 
    return "D:\edocclient\edocclient-build-Desktop_Qt_4_8_4_QT4_8_4-Debug\sql"; 
#else 
    return "D:\edocclient\edocclient-build-Desktop_Qt_4_8_4_QT4_8_4-Release\sql"; 
#endif 
} 
+0

주셔서 감사합니다 순전히. – Aliceljm