码迷,mamicode.com
首页 > Windows程序 > 详细

解决Cygwin编译cocos2dx 遇到的 error: 'UINT64_C' was not declared in this scope 问题

时间:2016-06-15 01:35:40      阅读:622      评论:0      收藏:0      [点我收藏+]

标签:

环境工具: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

问题得以解决。

 

解决Cygwin编译cocos2dx 遇到的 error: 'UINT64_C' was not declared in this scope 问题

标签:

原文地址:http://www.cnblogs.com/revenge/p/5585961.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!