0

スタティック ライブラリをビルドする ndk-build スクリプトに問題があります。

問題は、このスクリプトがアプリケーションのより大きなビルド スクリプトに含まれていることです。ndk-build all

スタティック ライブラリのビルド スクリプトは次のようになります。

# LoadBalancing-cpp

LOCAL_PATH := $(call my-dir)

all_static_libraries = common-cpp-static-prebuilt \
                       photon-cpp-static-prebuilt

lib_suffix := ${APP_OPTIM}_android_${APP_ABI}

lib_loadbalancing_cpp_static_name := loadbalancing-cpp-prebuilt-static_${lib_suffix}

include $(CLEAR_VARS)
LOCAL_MODULE            := loadbalancing-cpp-static-prebuilt
LOCAL_SRC_FILES         := lib$(lib_loadbalancing_cpp_static_name).a
LOCAL_STATIC_LIBRARIES  := $(all_static_libraries)
include $(PREBUILT_STATIC_LIBRARY)

$(call import-module,common-cpp-prebuilt)
$(call import-module,photon-cpp-prebuilt)

問題は、静的ライブラリを構築するには、LOCAL_SRC_FILES が単一の値 (ライブラリへのパス) を指す必要があることですがndk-build all、この場合に呼び出すと、複数の値が含まれます (lib_suffix は利用可能なすべてのアーキテクチャを指すため)。

ndk-build all を使用してこのファイルをビルドする方法はありますか?

4

1 に答える 1

1

ndk-build によって管理されるTARGET_ARCH変数を使用できます。

lib_suffix := $(APP_OPTIM)_android_$(TARGET_ARCH)

... 等々。

基本的に、ndk-build は Android.mk ファイルを複数回「呼び出し」、そのたびにTARGET_ARCH変数を異なる方法で設定します。

于 2013-07-22T17:14:38.960 に答える