zoukankan      html  css  js  c++  java
  • 解决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

    问题得以解决。

  • 相关阅读:
    CodeForces
    CodeForces-1253B(贪心+模拟)
    WebFlux、Reactive编程特性
    redis-on-windows配置解释
    SpringBoot配置方式补充
    如何在 Ubuntu 20.04 上安装 Python Pip
    MySQL之1055错误
    CuckooSandbox
    Manjaro 20.0.1 Lysia 安装Googlepinyin
    Manjaro 20.0.1 Lysia 更新国内镜像源
  • 原文地址:https://www.cnblogs.com/revenge/p/5585961.html
Copyright © 2011-2022 走看看