0

Eclipse で Android に libjpeg をビルドすると、問題が発生します。jni には、次のような Android.mk が含まれています。

    LOCAL_PATH := $(call my-dir)
    include $(CLEAR_VARS)
    LOCAL_MODULE    := hello-jni
    LOCAL_SRC_FILES := hello-jni.c
    #LOCAL_C_INCLUDES := $(LOCAL_PATH)/jpeg8d-master
    #LOCAL_STATIC_LIBRARIES := libjpeg
    include $(BUILD_STATIC_LIBRARY)
    #include $(LOCAL_PATH)/jpeg8d-master/Android.mk

jpeg8d は、githubからダウンロードしたソース コードです。android.mk

LOCAL_PATH:= $(call my-dir)
# ------------------------------------------------------------------
# Static library for Cocos
# ------------------------------------------------------------------
include $(CLEAR_VARS)
LOCAL_MODULE := cocos_jpeg_static
LOCAL_MODULE_FILENAME := libjpeg
LOCAL_SRC_FILES := \
    jcapimin.c jcapistd.c jccoefct.c jccolor.c jcdctmgr.c jchuff.c \
    jcinit.c jcmainct.c jcmarker.c jcmaster.c jcomapi.c jcparam.c \
    jcprepct.c jcsample.c jctrans.c jdapimin.c jdapistd.c \
    jdatadst.c jdatasrc.c jdcoefct.c jdcolor.c jddctmgr.c jdhuff.c \
    jdinput.c jdmainct.c jdmarker.c jdmaster.c jdmerge.c \
    jdpostct.c jdsample.c jdtrans.c jerror.c jfdctflt.c jfdctfst.c \
    jfdctint.c jidctflt.c jidctfst.c jidctint.c jquant1.c \
    jquant2.c jutils.c jmemmgr.c jcarith.c jdarith.c jaricom.c

# Use the no backing store memory manager provided by
# libjpeg. See install.txt
LOCAL_SRC_FILES += \
    jmemnobs.c

LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)
include $(BUILD_STATIC_LIBRARY)

ndk-build はヒントを提供します:

make: `all' に対しては何もしません。

しかし、jpeg8d Android.mk を設定すると BUILD_SHARED_LIBRARYlibjpeg.so. どうしてか分かりません。誰でも私を助けることができますか?

4

1 に答える 1

1

解決策: ライブラリ名はLOCAL_MODULE_FILENAME. 私の問題では、 を設定しましたが、 jpeg8d-masterディレクトリではなくjniディレクトリにある に(ではないことを思い出してください)LOCAL_MODULE_FILENAME=libjpegを追加しません 。APP_MODULES:=cocos_jpeg_staticcocos_jpeg_staicLOCAL_MODULELOCAL_MODULE_FILENAMEApplication.mk

libjpeg.aこの行をAppliction.mk

APP_MODULES:=cocos_jpeg_static
于 2013-03-28T01:26:49.340 に答える