2011-08-01 17 views
0

スタティックライブラリを使用して共有ライブラリを構築できません。
私はウェブからいくつかのコードをダウンロードしました。私はアンドロイドプロジェクト用のlibとして作成しようとしていますが、同じもの用の共有ライブラリを作成することはできません。スタティックライブラリで共有ライブラリを構築できません

上記メイクファイルは$(である)

LOCAL_PATH := $(call my-dir) 
MY_PATH := $(LOCAL_PATH) 

include $(CLEAR_VARS) 
LOCAL_CFLAGS := -DFIXED_POINT -DEXPORT="" 
LOCAL_EXPORT_LDLIBS := -llog 
LOCAL_MODULE := dspmath 
LOCAL_C_INCLUDES := $(LOCAL_PATH)/include $(LOCAL_PATH)/code $(LOCAL_PATH)/dsp_fx \ 
$(LOCAL_PATH)/dspmath $(LOCAL_PATH)/ttylib 
LOCAL_SRC_FILES := \ 
dspmath/ehwutl.c dspmath/mathadv.c dspmath/mathevrc.c \ 
dspmath/globdefs.c dspmath/mathdp31.c 
include $(BUILD_SHARED_LIBRARY) 



include $(CLEAR_VARS) 
LOCAL_CFLAGS := -DFIXED_POINT -DEXPORT="" 
LOCAL_MODULE := dsp_fx 
LOCAL_C_INCLUDES := $(LOCAL_PATH)/include $(LOCAL_PATH)/code $(LOCAL_PATH)/dsp_fx \ 
$(LOCAL_PATH)/dspmath $(LOCAL_PATH)/ttylib 
LOCAL_SRC_FILES := \ 
dsp_fx/basic_op.c dsp_fx/lib_wmp_fx.c dsp_fx/math_adv40.c dsp_fx/math_ext40.c \ 
dsp_fx/basic_op40.c dsp_fx/math_adv.c dsp_fx/math_ext32.c 
include $(BUILD_SHARED_LIBRARY) 



include $(CLEAR_VARS) 
LOCAL_CFLAGS := -DFIXED_POINT -DEXPORT="" 
LOCAL_MODULE := ttylib 
LOCAL_C_INCLUDES := $(LOCAL_PATH)/include $(LOCAL_PATH)/code $(LOCAL_PATH)/dsp_fx \ 
$(LOCAL_PATH)/dspmath $(LOCAL_PATH)/ttylib 
LOCAL_SRC_FILES := \ 
ttylib/bdo2dit.c ttylib/tty_char.c ttylib/tty_gen.c ttylib/ttystate.c \ 
ttylib/dit2a.c  ttylib/tty_dbg.c ttylib/tty_glob.c \ 
ttylib/tone_gen.c ttylib/tty_dec.c ttylib/tty_hdr.c \ 
ttylib/tty_bit.c ttylib/tty_enc.c ttylib/tty_rate.c 
include $(BUILD_SHARED_LIBRARY) 




include $(CLEAR_VARS) 
LOCAL_CFLAGS := -DFIXED_POINT -DEXPORT="" 
LOCAL_EXPORT_LDLIBS := -llog 
LOCAL_MODULE := code 
LOCAL_C_INCLUDES := $(LOCAL_PATH)/include $(LOCAL_PATH)/code $(LOCAL_PATH)/dsp_fx \ 
$(LOCAL_PATH)/dspmath $(LOCAL_PATH)/ttylib 
LOCAL_SRC_FILES := \ 
code/a2lsp.c  code/convh.c  code/fcbgq.c  code/inv_sqrt.c code/putacbc.c \ 
code/acb_ex.c code/cshift.c code/fer.c  code/lpcana.c code/r_fft.c \ 
code/acelp_pf.c code/d3_10pf.c code/filter.c code/lsp2a.c  code/rda.c \ 
code/apf.c  code/d8_35pf.c code/fndppf.c code/lspmaq.c code/rom.c \ 
code/auto.c  code/d_fer.c  code/getext1k.c code/main.c  code/synfltr.c \ 
code/bitpack.c code/d_globs.c code/getgain.c code/maxeloc.c code/w2res.c \ 
code/bitupack.c code/d_no_fer.c code/getopt.c code/mdfyorig.c code/weight.c \ 
code/bl_intrp.c code/d_rate_1.c code/getres.c code/mod.c  code/zeroinpt.c \ 
code/bqiir.c  code/decode.c code/globs.c  code/ns127.c \ 
code/c3_10pf.c code/durbin.c code/impulser.c code/pit_shrp.c \ 
code/c8_35pf.c code/e_globs.c code/interpol.c code/pktoav.c \ 
code/comacb.c code/encode.c code/intr_cos.c code/pre_enc.c 
include $(BUILD_SHARED_LIBRARY) 


LOCAL_PATH := $(MY_PATH) 
include $(CLEAR_VARS) 
LOCAL_CFLAGS := -DFIXED_POINT -DEXPORT="" 
LOCAL_MODULE := evrc 
LOCAL_SHARED_LIBRARIES := dspmath code dsp_fx ttylib 
include $(BUILD_SHARED_LIBRARY) 

以下の私のAndroid.mkファイルは、上記のmakeファイルを実行した後、私はこの
1のような差分フォルダに出力を取得しています探してくださいPROJECT)/ JNIフォルダ
2)Outpurファイルは、彼が(プロジェクト)$ intを生成なっている/ OBJ、それは小さい3.6K

-rwxr-xr-x+ 1 TPRM73 Domain Users 468K Aug 1 17:40 libcode.a 
-rwxr-xr-x+ 1 TPRM73 Domain Users 80K Aug 1 17:40 libdsp_fx.a 
-rwxr-xr-x+ 1 TPRM73 Domain Users 73K Aug 1 17:40 libdspmath.a 
-rwxr-xr-x+ 1 TPRM73 Domain Users 3.6K Aug 1 17:41 libevrc.so 
-rwxr-xr-x+ 1 TPRM73 Domain Users 101K Aug 1 17:41 libttylib.a 
drwxr-xr-x+ 1 TPRM73 Domain Users 0 Aug 1 17:40 objs 

uはlibevrc.soの大きさを観察した場合armeabi /ローカルで/より静的ライブラリ上記の問題を解決するのを手伝ってください。より多くの情報が必要な場合はお知らせください。 &よろしく、
SSuman185

答えて

2

我々は全体の静的ライブラリは、共有ライブラリにロードされるように、使用しない機能の除去を避けるために、代わりにLOCAL_STATIC_LIBRARIESLOCAL_WHOLE_STATIC_LIBRARIESを使用する必要が

感謝。

これは私がGoogleから得た基本的な回答です。誰でも知っている場合は、さらに情報を追加してください。

0

[Dhanavel]:あなたは正しいです!

私も同様の問題に直面しました。 LOCAL_STATIC_LIBRARIESをLOCAL_WHOLE_STATIC_LIBRARIESに置き換えた後、リンクが行われ、最終的に.soが生成されました。

関連する問題