当前位置: 代码迷 >> Symbian >> 怎么在carbide中设置编译开关
  详细解决方案

怎么在carbide中设置编译开关

热度:2725   发布时间:2013-02-26 00:00:00.0
如何在carbide中设置编译开关?
请问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__的指令是编译时自动识别的,不需要手动设置。