gpt4 book ai didi

android-ndk - 在android ndk项目中添加libpng

转载 作者:行者123 更新时间:2023-12-04 01:54:42 25 4
gpt4 key购买 nike

我搜索了很多关于将 libpng 链接到我的 android ndk 项目的主题,但我找到了解决我的问题的正确答案,我希望有人能帮助我。

这是我的项目的层次结构:

杰尼

different_cpp_files
different_hpp_files
Android.mk
libpng
different_cpp_files
different_hpp_files
Android.mk

libpng文件夹中的Android.mk:
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)

我想一切都在这里..

jni文件夹中的Android.mk:
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)

最后一行显示我得到了像 native_app_glue lib(在 android-ndk 源目录中)这样的 libpng 现在我想从我的项目中编译 libpng。我需要在 Android.mk 文件中更改什么?

最佳答案

我有另一种方式给你:

  • 从此处下载所有文件并将其粘贴到系统上任何位置的新文件夹中:
    https://github.com/julienr/libpng-android
  • 进入文件夹并运行:./build.sh
  • 您将在 [YOUR_FOLDER]/obj/local/armeabi/libpng.a 中获得一个 libpng.a 文件
    将此文件复制到:[YOUR_ANDROID_NDK_FOLDER]/platforms/[ALL_FOLDERS_IN_HERE]/arch-arm/usr/lib/
  • 现在您可以使用简单的一行在所有项目中使用 libpng:LOCAL_LDLIBS += -lpng
  • 你只需要在你的 cpp 中包含这个:#include <png.h>

  • 玩得开心!

    关于android-ndk - 在android ndk项目中添加libpng,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14263016/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com