• 解决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

    问题得以解决。

  • 相关阅读:
    JS数组的相关方法
    JS字符串的相关方法
    重回我的园区
    STM32F405串口UART4波特率注意问题
    NXP MCU开始学习中
    锂电池测试
    FPGA与STM32并口通信
    NXP LPC4350绝对强悍,准备入手学习
    SDRAM+FPGA+MCU
    STM32+FPGA通信成功
  • 原文地址:https://www.cnblogs.com/revenge/p/5585961.html
Copyright © 2020-2023  润新知