解决Cygwin编译cocos2dx 遇到的 error: 'UINT64_C' was not declared in this scope 问题
环境工具: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 问题的更多相关文章
- 调用ffmpeg库编译时出现common.h:175:47: error: 'UINT64_C' was not declared in this scope
解决办法 出现错误:jni/ffmpeg/libavutil/common.h:175:47: error: 'UINT64_C' was not declared in this scope 解决: ...
- In function 'int av_clipl_int32_c(int64_t)': error: 'UINT64_C' was not declared in this scope
cygwin下使用ndk编译jni时遇到的错误: /ffmpeg/include/libavutil/common.h: In function 'int av_clipl_int32_c(int64 ...
- 用g++ 编译 ffmpeg 编译出现 error: 'UINT64_C' was not declared in this scope 或 missing -D__STDC_CONSTANT_MACROS
在 libavutil/common.h 下 添加如下,即可解决 #ifdef __cplusplus#define __STDC_CONSTANT_MACROS#ifdef _STDINT_H#un ...
- ubuntu 编译C++ error: ‘syscall’ was not declared in this scope
明明已经加了头文件 #include <sys/syscall.h> #include <sched.h> #include <sys/resource.h> 编译 ...
- ffmpeg: ‘UINT64_C’ was not declared in this scope (转)
ffmpeg 默认是用C文件来编译的,如果某个CPP文件想引用ffmpeg中的某些函数或者头文件,有可能出现 ‘UINT64_C’ was not declared in this scope的错误 ...
- error: 'LOGE' was not declared in this scope
移植了下HAL,发现编译出现如下错误 error: 'LOGE' was not declared in this scope 比较了一下android4.1的 system/core/include ...
- 编译是报error: 'EVNET_COME_TO_FOREGROUND' was not declared in this scope
Compile++ thumb : game_shared <= main.cpp jni/hellocpp/main.cpp: In function 'void Java_org_coco ...
- [Error] 'exit' was not declared in this scope的解决方法
新手刚开始用Linux和c++写程序,可能会出现下面的错误 error: ‘exit’ was not declared in this scope 解决方法是 添加 #include <cst ...
- error: ‘errno’ was not declared in this scope
问题: 将一个c文件改为cpp文件,其中的perror()改用C++中的std::cerr << strerror(error) << std::endl;来替换. 重新编译文 ...
随机推荐
- sqlite学习笔记8:C语言中使用sqlite之创建表
前面已经说了怎样打开和关闭数据库,这次要说得是怎样运行SQL语句,来创建一张表. 要用的的函数: sqlite3_exec(sqlite3* db, const char *sql, sqlite_c ...
- nodeJs搭建简单服务器
实现简单的例子:hello word 把第一个文件命名为server.js 在server.js里写入 var http = require("http"); http.crea ...
- ios 开发UI篇—UITextView
概述 UITextView可滚动的多行文本区域 UITextView支持使用自定义样式信息显示文本,并支持文本编辑.您通常使用文本视图来显示多行文本,例如在显示大型文本文档的正文时. UITextVi ...
- C 和 Object-C中的 #ifdef #ifndef
很多宏是为了进行条件编译.一般情况下,源程序中所有的行都参加编译.但是有时希望对其中一部分内容只在满足一定条件才进行编译,也就是对一部分内容指定编译的条件,这就是“条件编译”.有时,希望当满足某条件时 ...
- vue 目录结构解析
├── README.md 项目介绍├── index.html 入口页面├── build 构建脚本目录│ ├── webpack.base.conf.js webpack基础配置,开发环境,生产环 ...
- 2015306 白皎 《网络攻防》Exp1 进阶
2015306 白皎 <网络攻防>Exp1 进阶 Task1 64位shellcode的编写及注入 - 自己编写一个64位shellcode.参考shellcode指导. - 自己编写一个 ...
- 马尔可夫毯(Markov blanket)
马尔可夫毯(Markov blanket) 马尔科夫毯,是满足如下特性的一个最小特征子集:一个特征在其马尔科夫毯条件下,与特征域中所有其他特征条件独立.设特征T的马尔科夫毯为MB(T),则上述可表示为 ...
- JavaEE笔记(一)
Hibernate Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的orm框架,hibernate可以自 ...
- python基础学习1-函数相关
#!/usr/bin/env python # -*- coding:utf-8 -*- 函数相关 def f1(par,par2,par3="ok"): #定义函数 带参数,带参 ...
- Mac下 通过 VMware Fusion 配置 windows 虚拟机的详细步骤
内容中包含 base64string 图片造成字符过多,拒绝显示