NDK在windows下编译libpng

来源:互联网 发布:淘宝靠谱的ipad二手店 编辑:程序博客网 时间:2024/05/17 00:50

首先要去下载libng的源码: http://www.libpng.org/pub/png/libpng.html 最新版本是 1.5.13, 下载后解压到目录。

NDK打包需要固定的目录结构的,很简单。我的版本解压后是lpng1513,在这个目录下面建立文件夹jni,以后把其他的书有文件都剪切到jni下面。并且在jni下面创建Android.mk文件。内容如下:

LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE := pngLOCAL_SRC_FILES := \pngget.c \pngread.c \pngrutil.c \pngtrans.c \pngwtran.c \png.c \pngmem.c \pngrio.c \pngset.c \pngwio.c \pngwutil.c \pngerror.c \pngpread.c \pngrtran.c \pngwrite.c \ LOCAL_C_INCLUDES := png.h pngconf.h pngpriv.h include $(BUILD_STATIC_LIBRARY) include $(CLEAR_VARS)LOCAL_MODULE := png2LOCAL_STATIC_LIBRARIES := png include $(BUILD_SHARED_LIBRARY)

这里mk文件有个让人疑惑的问题,单独的build_static_library总是不行,看了NDK的two-libs例子,它是一个static一个shared,所以这里也这么搞。同时会打包出so, a 文件,当然还有一堆ooooo

接下来用NDK编译, 在命令行进入lpng1513, 记住不是jni,以后运行ndk目录下面的ndk-build命令进行编译。

不出意外的话,会报错,缺少一个pnglibconf.h文件。找到这个jni/scripts/pnglibconf.h.prebuilt文件,从命名为pnglibconf.h放到jni下面。重新编译就可以了,我成功编译。

 


0 0
原创粉丝点击