我搜索了很多关于将libpng链接到我的
Android ndk项目的主题,但是我已经找到了正确的答案,我希望有人会帮助我.
这是我的项目的层次结构:
JNI
different_cpp_files different_hpp_files Android.mk libpng different_cpp_files different_hpp_files Android.mk
Android.mk在libpng文件夹中:
LOCAL_PATH:= $(call my-dir) include $(CLEAR_VARS) LS_C=$(subst $(1)/,$(wildcard $(1)/*.c)) LOCAL_MODULE := png LOCAL_SRC_FILES := \ $(filter-out example.c pngtest.c,$(call LS_C,$(LOCAL_PATH))) LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH) LOCAL_EXPORT_LDLIBS := -lz include $(BUILD_STATIC_LIBRARY)
我想这一切都在这里.
Android.mk中的jni文件夹:
LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LS_CPP=$(subst $(1)/,$(wildcard $(1)/*.cpp)) LOCAL_MODULE := pacman LOCAL_CFLAGS := -Wno-psabi LOCAL_SRC_FILES := $(call LS_CPP,$(LOCAL_PATH)) LOCAL_LDLIBS := -landroid -llog -lEGL -lGLESv1_CM -lOpenSLES LOCAL_STATIC_LIBRARIES := android_native_app_glue png include $(BUILD_SHARED_LIBRARY) $(call import-module,android/native_app_glue) $(call import-module,libpng)
最后一行显示我有libpng,如native_app_glue lib(在android-ndk源目录下)现在我想从我的项目中编译libpng.在Android.mk文件中需要更改什么?
解决方法
我有另一种方式给你:
>从这里下载所有文件,并将其粘贴到系统中的任何位置的新文件夹中:
https://github.com/julienr/libpng-android
>进入文件夹并运行:
运行./build.sh
>你将在[YOUR_FOLDER] /obj/local/armeabi/libpng.a中找到一个libpng.a文件
将此文件复制到
[YOUR_ANDROID_NDK_FOLDER] /平台/ [ALL_FOLDERS_IN_HERE] /弓形臂/usr/lib中/
>现在您可以使用简单的行在所有项目中使用libpng:
LOCAL_LDLIBS = -lpng
>你只需要把它包含在你的cpp里:
#include< png.h>
玩的开心!
原文地址:https://www.jb51.cc/android/311456.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。