请问carbide中在哪里可以设置编译开关?
比如程序中的代码:
#ifdef __SERIES60_30__
// do something
......
#else
// do otherthing
......
#endif
我并没有设置任何东西,结果在carbide编译后却是#ifdef __SERIES60_30__下的代码。
是否要在哪里设置?
------解决方案--------------------------------------------------------
预定义宏,与你选择的SDK有关。
3rd MR版及之前的那个3rd版本,定义__SERIES60_30__
3rd FP1版,定义__SERIES60_31__
3rd FP2版,定义__SERIES60_32__
另外,还有一个__SERIES60_3x__。若不需区分具体是哪一个3rd版,则用之。
若选择2nd版的,则没有这些宏。
------解决方案--------------------------------------------------------
这个用vs比较容易看。
__SYMBIAN32__
__SERIES60_31__
__SERIES60_3X__
__SERIES60_3RD_FP1__
__SERIES60_3FP1__
__SUPPORT_CPP_EXCEPTIONS__
__EXE__
__WINSCW__
__WINS__
__CW32__
_DEBUG
_UNICODE
这是在模拟器情况下,3.0 fp1 sdk的所有宏定义。
------解决方案--------------------------------------------------------
在工程上面点alt + f7,
Configuration Properties->c/c++->Preprocessor
在右面窗口的Preprocessor Definition当中。
------解决方案--------------------------------------------------------
跟编译开关只
跟你当前装的SDK有关,跟IDE没直接关系。
所以类似 __SERIES60_30__的指令是编译时自动识别的,不需要手动设置。