【问题标题】:error when updated libpng for cocos2d-x为 cocos2d-x 更新 libpng 时出错
【发布时间】:2016-10-01 08:29:28
【问题描述】:

我在更换固定的 libpng 时遇到问题。我用 cocos2d1.0.1-x-0.13.0-beta/ndkr8

Compile++ thumb : cocos2dx_static <= CCFileUtils.cpp
Compile++ thumb : cocos2dx_static <= CCGL.cpp
Compile++ thumb : cocos2dx_static <= CCImage.cpp
C:/Users/trach/Pictures/cocos2d-1.0.1-x-0.13.0-beta/cocos2dx/platform/CCImage.cpp: In member function 'bool cocos2d::CCImage::_initWithPngData(void, int)':
C:/Users/trach/Pictures/cocos2d-1.0.1-x-0.13.0-beta/cocos2dx/platform/CCImage.cpp:257:33: error: invalid use of incomplete type 'png_info {aka struct png_info_def}'
C:/Users/trach/Pictures/cocos2d-1.0.1-x-0.13.0-beta/cocos2dx/platform/third_party/android/prebuilt/libpng/include/png.h:594:16: error: forward declaration of 'png_info {aka struct png_info_def}'
make: ** [/cygdrive/c/Users/trach/Pictures/android-ndk-r8e/build/core/build-binary.mk:273: obj/local/armeabi/objs/cocos2dx_static/platform/CCImage.o] Error 1
make: Leaving directory '/cygdrive/c/Users/trach/Pictures/cocos2d-1.0.1-x-0.13.0-beta/show_entry'
cp: cannot create regular file '/cygdrive/c/Users/trach/Pictures/cocos2d-1.0.1-x-0.13.0-beta/show_entry/jni/../libs/armeabi': No such file or directory

【问题讨论】:

  • 你有什么版本的 libpng?查看 png.h 顶部附近的内容。
  • 我使用的是 linpng 1.6 版。我想我需要 libpng ver 1.2.56

标签: android android-ndk cocos2d-x cocos2d-android


【解决方案1】:

libpng-1.5 及更高版本不允许直接访问 png_ptr 的成员,所以你必须替换类似的东西

png_info->width
png_ptr->width

类似的东西

png_get_image_width(png_ptr,png_info)

在您的应用程序中,或将 libpng 降级到最新的 1.2.x 版本。

【讨论】:

    猜你喜欢
    • 2017-03-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-12
    • 2016-07-02
    相关资源
    最近更新 更多