我正在尝试将可执行文件链接到libcutils.so,但是我收到以下错误:
Executable : gps_test
/home/jbrew/android_gps/jni/lib_dir//libcutils.so: undefined reference to `ioprio_set'
/home/jbrew/android_gps/jni/lib_dir//libcutils.so: undefined reference to `ioprio_get'
collect2: ld returned 1 exit status
make: *** [obj/local/armeabi/gps_test] Error 1
以下是我的Android.mk文件:
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_SRC_FILES:= \
gps_test.c
LOCAL_LDLIBS:= -L/home/jbrew/android_gps/jni/lib_dir/ -llog -lhardware -lcutils
LOCAL_C_INCLUDES:= \
/home/jbrew/android_gps/jni/includes
LOCAL_MODULE:= gps_test
#include $(BUILD_SHARED_LIBRARY)
include $(BUILD_EXECUTABLE)
有没有办法让编译器忽略这些?我试图添加CFLAG --warn-unresolved-symbols,但是编译器不知道那个标志是什么意思。
答案 0 :(得分:1)
对于遇到此问题的其他任何人,问题是我的API级别。 ndk-build默认使用android-3来构建。我在我的项目路径中添加了default.properties文件,然后在该文件中添加了“target = android-9”。添加完成后,我可以构建可执行文件。