我试图编译标签库
为Android。我已经下载了最新版本
标签库
从这里。编译它 ARM-Linux的后
构建我已经成功导入它在我的应用程序,但是当我尝试从 tag_c.h 我收到以下错误:
I am trying to compile Taglib
for Android. I have downloaded the latest version for
Taglib
from here . After compiling it for arm-linux
build I have successfully imported it in my application, but when I try to call any function from tag_c.h
I am getting following error:
SharedLibrary : taglibwav.so
/home/test/workspacenew/Androidtaglibexample/obj/local/armeabi/
objs/squared/taglibwav.o: In function
`Java_com_android_androidtag_WavFileDetails_taglibwav':
/home/test/workspacenew/Androidtaglibexample/jni/taglibwav.c:30:
undefined reference to `taglib_set_strings_unicode'
collect2: ld returned 1 exit status
make: *** [/home/test/workspacenew/Androidtaglibexample/obj/
local/armeabi/taglibwav.so] Error 1
应用程序配置信息是:
Application configuration information is:
标签库的./configure: -
./configure CC="/home/hcl/taglib/taglib/toolchain/bin/arm-linux-androideabi-gcc"\
--host="arm-linux" \
--build="arm" \
--enable-static="no" \
--enable-shared="yes" \
--prefix="/home/test/workspacenew/Androidtaglibexample/jni/testtaglib/"\
Android.mk: -
LOCAL_PATH := $(call my-dir)
#declare the prebuilt library
include $(CLEAR_VARS)
LOCAL_MODULE := taglibtest
LOCAL_SRC_FILES := testtaglib/lib/libtag.a
LOCAL_EXPORT_C_INCLUDES := testtaglib/include/taglib/
LOCAL_PRELINK_MODULE := true
include $(PREBUILT_STATIC_LIBRARY)
include $(CLEAR_VARS)
include $(call all-subdir-makefiles)
LOCAL_MODULE := taglibwav
LOCAL_SRC_FILES := taglibwav.c
LOCAL_C_INCLUDES := $(LOCAL_PATH)/testtaglib/include/taglib/
LOCAL_SHARED_LIBRARY := taglibtest
LOCAL_LDLIBS := -llog -ljnigraphics -lz -lm -L$(SYSROOT)/usr/lib -llog
include $(BUILD_SHARED_LIBRARY)
Application.mk: -
Application.mk :-
APP_ABI :=armeabi
APP_STL:=stlport_static
taglibwav.c: -
taglibwav.c :-
#include <jni.h>
#include <tag_c.h>
#include <android/log.h>
#ifndef FALSE
#define FALSE 0
#endif
.......
.......
JNIEXPORT void JNICALL Java_com_android_androidtag_WavFileDetails_taglibwav
(JNIEnv * ev, jclass jc){
int i;
int seconds;
int minutes;
TagLib_File *file; //<< accessed form tag_c.h : OK
TagLib_Tag *tag; //<< accessed form tag_c.h : OK
const TagLib_AudioProperties *properties; //<<accessed form tag_c.h : OK
taglib_set_strings_unicode(FALSE);//<<accessed form tag_c.h : GETTING ERROR
}
....
....
的Android NDK版本: - 的Android NDK,R7C
Android NDK Version :- Android-Ndk-r7c
请,指导我在正确的方向来解决我在做什么错
Please, guide me in the right direction to fix what I'm doing wrong
我想你可能需要 -ltag_c
在那里的地方
I think you might need -ltag_c
in there somewhere