测试一些代码中,发现一个奇怪的bug.最好发现是如下原因:
考虑代码:
|
|
xcode ios SDk 6.1 编译得到输出
OK 1
OK 2
android NDK r9, gcc 4.8编译得到输出
OK 1
可见,在xcode中char被定义为有符号数,而在ndk中定义是无符号数
测试一些代码中,发现一个奇怪的bug.最好发现是如下原因:
考虑代码:
|
|
xcode ios SDk 6.1 编译得到输出
OK 1
OK 2
android NDK r9, gcc 4.8编译得到输出
OK 1
可见,在xcode中char被定义为有符号数,而在ndk中定义是无符号数
下载android ndk r9版本后,发现cocos2d-x无法编译通过报一大堆错误和警告,仔细查看是这两个
warning: invalid suffix on literal; C++11 requires a space between literal and identifier
error: format not a string literal and no format arguments
第一个警告是由于头文件不符合C++11的标准引起的,第二个警告是因为格式化字串函数产生的,只需要给gcc参数让其忽略掉这两个错误即可。
打开android项目的Application.mk文件,在APP_CPPFLAGS变量后面添加
-Wno-format-security -Wno-literal-suffix
就可以了。