2014-03-27 50 views
0

我想构建LIBVNCSERVER作为共享库而不是可执行文件。 make文件来构建libVNCSERVER是构建libvncserver未定义的引用__gnu_mcount_nc

include $(CLEAR_VARS) 
LOCAL_PATH := $(INITIAL_PATH) 
#for vnc 
LIBVNCSERVER_ROOT:=./LibVNCServer-0.9.9 
LIBVNCSERVER_SRC_FILES:= \ 
$(LIBVNCSERVER_ROOT)/libvncserver/main.c \ 
$(LIBVNCSERVER_ROOT)/libvncserver/rfbserver.c \ 
$(LIBVNCSERVER_ROOT)/libvncserver/rfbregion.c \ 
$(LIBVNCSERVER_ROOT)/libvncserver/auth.c \ 
$(LIBVNCSERVER_ROOT)/libvncserver/sockets.c \ 
$(LIBVNCSERVER_ROOT)/libvncserver/stats.c \ 
$(LIBVNCSERVER_ROOT)/libvncserver/corre.c \ 
$(LIBVNCSERVER_ROOT)/libvncserver/hextile.c \ 
$(LIBVNCSERVER_ROOT)/libvncserver/rre.c \ 
$(LIBVNCSERVER_ROOT)/libvncserver/translate.c \ 
$(LIBVNCSERVER_ROOT)/libvncserver/cutpaste.c \ 
$(LIBVNCSERVER_ROOT)/libvncserver/httpd.c \ 
$(LIBVNCSERVER_ROOT)/libvncserver/cursor.c \ 
$(LIBVNCSERVER_ROOT)/libvncserver/font.c \ 
$(LIBVNCSERVER_ROOT)/libvncserver/draw.c \ 
$(LIBVNCSERVER_ROOT)/libvncserver/selbox.c \ 
$(LIBVNCSERVER_ROOT)/libvncserver/cargs.c \ 
$(LIBVNCSERVER_ROOT)/libvncserver/ultra.c \ 
$(LIBVNCSERVER_ROOT)/libvncserver/scale.c \ 
$(LIBVNCSERVER_ROOT)/libvncserver/zlib.c \ 
$(LIBVNCSERVER_ROOT)/libvncserver/zrle.c \ 
$(LIBVNCSERVER_ROOT)/libvncserver/zrleoutstream.c \ 
$(LIBVNCSERVER_ROOT)/libvncserver/zrlepalettehelper.c \ 
$(LIBVNCSERVER_ROOT)/common/d3des.c \ 
$(LIBVNCSERVER_ROOT)/common/vncauth.c \ 
$(LIBVNCSERVER_ROOT)/common/minilzo.c \ 
$(LIBVNCSERVER_ROOT)/common/zywrletemplate.c 

LOCAL_CFLAGS += -Wall \ 
           -O3 \ 
           -DLIBVNCSERVER_HAVE_ZLIB 
LOCAL_C_INCLUDES += \ 
            $(LOCAL_PATH) \ 
            $(LOCAL_PATH)/$(LIBVNCSERVER_ROOT)/libvncserver \ 
            $(LOCAL_PATH)/$(LIBVNCSERVER_ROOT)/common \ 
            $(LOCAL_PATH)/$(LIBVNCSERVER_ROOT)/rfb \ 
            $(LOCAL_PATH)/$(LIBVNCSERVER_ROOT)/ 

LOCAL_MODULE := myvnc 
#for profiling 
LOCAL_CFLAGS := -pg 
#LOCAL_STATIC_LIBRARIES += android-ndk-profiler 
LOCAL_ARM_MODE := arm # remove this if you want thumb mode 
LOCAL_SRC_FILES := $(LIBVNCSERVER_SRC_FILES)\ 
       vncmain.c 
LOCAL_LDLIBS += -llog -lz -ldl -lpthread 
LOCAL_ARM_NEON := true 
LOCAL_SHARED_LIBRARIES := libz 
include $(BUILD_SHARED_LIBRARY) 

我从socket.c文件得到了一个未定义参考__gnu_mcount_nc

Compile arm : myvnc <= main.c 
Compile arm : myvnc <= rfbserver.c 
Compile arm : myvnc <= rfbregion.c 
Compile arm : myvnc <= auth.c 
Compile arm : myvnc <= sockets.c 
Compile arm : myvnc <= stats.c 
Compile arm : myvnc <= corre.c 
Compile arm : myvnc <= hextile.c 
Compile arm : myvnc <= rre.c 
Compile arm : myvnc <= translate.c 
Compile arm : myvnc <= cutpaste.c 
Compile arm : myvnc <= httpd.c 
Compile arm : myvnc <= cursor.c 
Compile arm : myvnc <= font.c 
Compile arm : myvnc <= draw.c 
Compile arm : myvnc <= selbox.c 
Compile arm : myvnc <= cargs.c 
Compile arm : myvnc <= ultra.c 
Compile arm : myvnc <= scale.c 
Compile arm : myvnc <= zlib.c 
Compile arm : myvnc <= zrle.c 
Compile arm : myvnc <= zrleoutstream.c 
Compile arm : myvnc <= vncauth.c 
Compile arm : myvnc <= vncmain.c 
SharedLibrary : libmyvnc.so 
D:/Android/tool_set/android-ndk-r8e/toolchains/arm-linux-androideabi-4.6/prebuilt/windows/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld.exe: ./obj/local/armeabi-v7a/objs/myvnc/./LibVNCServer-0.9.9/libvncserver/sockets.o: in function rfbShutdownSockets:jni/./LibVNCServer-0.9.9/libvncserver/sockets.c:219: error: undefined reference to '__gnu_mcount_nc' 
D:/Android/tool_set/android-ndk-r8e/toolchains/arm-linux-androideabi-4.6/prebuilt/windows/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld.exe: ./obj/local/armeabi-v7a/objs/myvnc/./LibVNCServer-0.9.9/libvncserver/sockets.o: in function rfbDisconnectUDPSock:jni/./LibVNCServer-0.9.9/libvncserver/sockets.c:456: error: undefined reference to '__gnu_mcount_nc' 
D:/Android/tool_set/android-ndk-r8e/toolchains/arm-linux-androideabi-4.6/prebuilt/windows/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld.exe: ./obj/local/armeabi-v7a/objs/myvnc/./LibVNCServer-0.9.9/libvncserver/sockets.o: in function rfbCloseClient:jni/./LibVNCServer-0.9.9/libvncserver/sockets.c:464: error: undefined reference to '__gnu_mcount_nc' 
D:/Android/tool_set/android-ndk-r8e/toolchains/arm-linux-androideabi-4.6/prebuilt/windows/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld.exe: ./obj/local/armeabi-v7a/objs/myvnc/./LibVNCServer-0.9.9/libvncserver/sockets.o: in function rfbReadExactTimeout:jni/./LibVNCServer-0.9.9/libvncserver/sockets.c:544: error: undefined reference to '__gnu_mcount_nc' 
collect2: ld returned 1 exit status 
make: *** [obj/local/armeabi-v7a/libmyvnc.so] Error 1 

请帮助

回答