2012-04-06 15 views
2

私は静的なLinuxの.aライブラリをAndroidにインストールする予定です。 以下のリンクを使用して静的.aファイルを作成しましたhttp://codingfreak.blogspot.in/2010/01/creating-and-using-static-libraries-in.htmlアンドロイドビルド静的ライブラリ

私はAndroidアプリケーションに次のAndroid.mkファイルがあります。

LOCAL_PATH := $(call my-dir) 

include $(CLEAR_VARS) 
LOCAL_MODULE:= first-prebuilt 
LOCAL_SRC_FILES:= libarith.a 
LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/include 
include $(PREBUILT_STATIC_LIBRARY) 


include $(CLEAR_VARS) 
LOCAL_MODULE := test-main 
LOCAL_STATIC_LIBRARIES := first-prebuilt 
LOCAL_SRC_FILES := native.cpp 
LOCAL_C_INCLUDES := $(LOCAL_PATH)/include 
include $(BUILD_SHARED_LIBRARY) 

ndk-build r7bを使用してアプリケーションをビルドすると、次のエラーが発生します。

Сompile++ thumb : test-main <= native.cpp 
SharedLibrary : libtest-main.so 
/home/hiren/NDK-r7b/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin/../lib/gcc/arm-linux-androideabi/4.4.3/../../../../arm-linux-androideabi/bin/ld: /home/hiren/workspace/VideoTEST/obj/local/armeabi/libarith.a(addition.o): Relocations in generic ELF (EM: 3) 
/home/hiren/workspace/VideoTEST/obj/local/armeabi/libarith.a: could not read symbols: File in wrong format 
collect2: ld returned 1 exit status 
make: *** [/home/hiren/workspace/VideoTEST/obj/local/armeabi/libtest-main.so] Error 1 

誰でも助けることができる、私は...ここに、長い時間のために事前に おかげで立ち往生しています。

答えて

1

静的ライブラリをAndroid形式で構築する必要があります。参照してくださいError in linking C++ static library with android ndk(Error: file format not recognized)

+0

私は上のリンクのコードを書く場所を知りません、それは何ですか?私の目標を達成するための代替方法はありますか? –

+0

** android形式**とはどういう意味ですか? –

+0

あなたのホストシステムをターゲットにしていないAndroid(boincとAndroidプラットフォーム)をターゲットにしています。 – plaisthos

関連する問題