2012-04-16 6 views
0

.c.hのファイルがたくさんあります。のファイルがあります。私はAndroid NDKでこれらのファイルをコンパイルしたいと思います。私が1つのファイルだけを試してみたところ、NDKは完璧に動作しましたが、このメインの中に他のファイルを含めようとしたときに、Cのファイルがインクルードされました。私は何が欠けていますか?これは私のAndroid.mkファイルです:android ndkでCファイルをコンパイルする際に未定義の参照エラーが発生しました。

LOCAL_PATH := $(call my-dir) 

include $(CLEAR_VARS) 

LOCAL_LDLIBS := -llog 

LOCAL_MODULE := ndksetupdemo 
LOCAL_SRC_FILES := mymain_c_file.c 
LOCAL_C_INCLUDES := includes 
include $(BUILD_SHARED_LIBRARY) 

さらに何かを含めるべきですか?

答えて

0

ログライブラリ(LOCAL_LDLIBS := -llog)とのみリンクするように見えます。含まれているヘッダとmymain_c_file.cに定義されていない関数を参照している場合は、未定義の参照エラーが発生します。リンクする必要のある他のライブラリを調べて、LOCAL_LDLIBSにリストする必要があります。

関数が他の.cファイルで定義されている場合は、変数をLOCAL_SRC_FILES変数に追加する必要があります。

+0

LOCAL_SRC_FILES:= mymain_c_file.c、secondfile.c – James

+0

私はアンドロイドフォーマットに精通していませんが、私はそれを試してみたいと思います。 – Attila

+1

カンマではなく、スペースでファイルを区切ります。これは標準のGNU makefile形式です(Android.mkファイルは実際にプログラムを作成するための入力として使用されます)。 –

関連する問題