解决Cygwin编译cocos2dx 遇到的 error: 'UINT64_C' was not declared in this scope 问题
2016-06-15 00:19
791 查看
环境工具:Win10、VS2013、cocos2d-x-2.2.6、Cygwin、ADT
问题来源:写了一个小游戏,VS2013上运行成功,就尝试着打包apk,项目导入到ADT里面,添加了cocos2dx lib库以后,讨厌的红x消失,下来就是在cygwin里面预编译得到xxx.so文件了,但是问题来了,报错!!!
jni/../../Classes/GameLayer.cpp:227:46: error: 'UINT64_C' was not declared in this scope
怎么解决呢?
看了一下'UINT64_C'的定义文件 stdint.h 路径显示是vs自带的,好像有点复杂了
那'UINT64_C'是什么呢?
经过查资料,简单的说,是一种数据类型,编译的时候默认是C文件来编译的,但是我用的是C++,错误便出现了。
既然是在打包apk的路上出的错,问题差不多就得往这方面考虑解决,于是查资料了解到
LOCAL_CFLAGS变量为C/C++编译器定义额外的标志,当编译C/C++源文件时传递一个可选的编译器标志,这对于指定额外的宏定义或编译选项很有用。
解决方案:
在Android.mk文件里添加:
LOCAL_CFLAGS := -D__STDC_CONSTANT_MACROS
问题得以解决。
问题来源:写了一个小游戏,VS2013上运行成功,就尝试着打包apk,项目导入到ADT里面,添加了cocos2dx lib库以后,讨厌的红x消失,下来就是在cygwin里面预编译得到xxx.so文件了,但是问题来了,报错!!!
jni/../../Classes/GameLayer.cpp:227:46: error: 'UINT64_C' was not declared in this scope
怎么解决呢?
看了一下'UINT64_C'的定义文件 stdint.h 路径显示是vs自带的,好像有点复杂了
那'UINT64_C'是什么呢?
经过查资料,简单的说,是一种数据类型,编译的时候默认是C文件来编译的,但是我用的是C++,错误便出现了。
既然是在打包apk的路上出的错,问题差不多就得往这方面考虑解决,于是查资料了解到
LOCAL_CFLAGS变量为C/C++编译器定义额外的标志,当编译C/C++源文件时传递一个可选的编译器标志,这对于指定额外的宏定义或编译选项很有用。
解决方案:
在Android.mk文件里添加:
LOCAL_CFLAGS := -D__STDC_CONSTANT_MACROS
问题得以解决。
相关文章推荐
- cocos2d理解--SpriteBatchNode和TextureAtlas
- Cocos2d-x v3.0物理系统 利用PhysicsEditor创建多边形
- cocos2d-x 3.x学习之Vector常用函数
- cocos2D-X源码分析之从cocos2D-X学习OpenGL(17)----发光体
- cocos2d-x 3.x学习之SpriteFrameCache
- cocos creator shader用法
- cocos2dx图片精灵裁剪圆角矩形方法
- Cocos2dx 3.x C++人员过渡Lua的常用代码总结
- cocos2d-x-3.0从零到2048游戏开发
- cocos接入广点通sdk注意事项
- cocos2d-js[0]安装步骤与命令集合
- cocos-lua 定时器使用的2种方式
- cocos2d-js 系列[1] 屏幕的适配
- cocos2D-X源码分析之从cocos2D-X学习OpenGL(16)----基本光照
- cocos2d-x环境变量配置
- 在Cocos2dx 3.10中第一次使用shader
- 1. cocos2d-js chipmunk物理引擎入门笔记
- cocos2d-x 两点缩放
- Cocos2d-lua 3.10 图片资源加密
- cocos2D-X源码分析之从cocos2D-X学习OpenGL(15)----帧缓冲