我正在尝试在Android下编译一个C程序。但当链接时,我得到了"压缩"解压缩":
prebuilt/darwin-x86/toolchain/arm-eabi-4.4.3/bin/../lib/gcc/arm-eabi/4.4.3/../../../../arm-eabi/bin/ld: out/target/product/passion/obj/EXECUTABLES/androidvncserver_intermediates/LibVNCServer-0.9.7/libvncserver/rfbserver.o: in function rfbSendFileTransferChunk:external/android-vnc-server-read-only/LibVNCServer-0.9.7/libvncserver/rfbserver.c:1364: error: undefined reference to 'compress'
prebuilt/darwin-x86/toolchain/arm-eabi-4.4.3/bin/../lib/gcc/arm-eabi/4.4.3/../../../../arm-eabi/bin/ld: out/target/product/passion/obj/EXECUTABLES/androidvncserver_intermediates/LibVNCServer-0.9.7/libvncserver/rfbserver.o: in function rfbProcessFileTransfer:external/android-vnc-server-read-only/LibVNCServer-0.9.7/libvncserver/rfbserver.c:1626: error: undefined reference to 'uncompress'
我已经在Android.mk 中添加了
LOCAL_SHARED_LIBRARIES := libz
LOCAL_SHARED_LIBRARIES := libjpeg
LOCAL_MODULE:= androidvncserver
LOCAL_MODULE_TAGS := optional
LOCAL_LDLIBS := -lz
请让我知道我错过了什么:
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_SRC_FILES:=
fbvncserver.c
LibVNCServer-0.9.7/libvncserver/main.c
LibVNCServer-0.9.7/libvncserver/rfbserver.c
LibVNCServer-0.9.7/libvncserver/rfbregion.c
LibVNCServer-0.9.7/libvncserver/auth.c
LibVNCServer-0.9.7/libvncserver/sockets.c
LibVNCServer-0.9.7/libvncserver/stats.c
LibVNCServer-0.9.7/libvncserver/corre.c
LibVNCServer-0.9.7/libvncserver/hextile.c
LibVNCServer-0.9.7/libvncserver/rre.c
LibVNCServer-0.9.7/libvncserver/translate.c
LibVNCServer-0.9.7/libvncserver/cutpaste.c
LibVNCServer-0.9.7/libvncserver/httpd.c
LibVNCServer-0.9.7/libvncserver/cursor.c
LibVNCServer-0.9.7/libvncserver/font.c
LibVNCServer-0.9.7/libvncserver/draw.c
LibVNCServer-0.9.7/libvncserver/selbox.c
LibVNCServer-0.9.7/libvncserver/d3des.c
LibVNCServer-0.9.7/libvncserver/vncauth.c
LibVNCServer-0.9.7/libvncserver/cargs.c
LibVNCServer-0.9.7/libvncserver/minilzo.c
LibVNCServer-0.9.7/libvncserver/ultra.c
LibVNCServer-0.9.7/libvncserver/scale.c
LibVNCServer-0.9.7/libvncserver/zlib.c
LibVNCServer-0.9.7/libvncserver/zrle.c
LibVNCServer-0.9.7/libvncserver/zrleoutstream.c
LibVNCServer-0.9.7/libvncserver/zrlepalettehelper.c
LibVNCServer-0.9.7/libvncserver/zywrletemplate.c
LibVNCServer-0.9.7/libvncserver/tight.c
LOCAL_C_INCLUDES :=
$(LOCAL_PATH)
$(LOCAL_PATH)/LibVNCServer-0.9.7/libvncserver
$(LOCAL_PATH)/LibVNCServer-0.9.7
external/zlib
external/jpeg
LOCAL_SHARED_LIBRARIES := libz
LOCAL_SHARED_LIBRARIES := libjpeg
LOCAL_MODULE:= androidvncserver
LOCAL_MODULE_TAGS := optional
LOCAL_LDLIBS := -lz
include $(BUILD_EXECUTABLE)
我通常以以下方式进行操作:试着查看第1364行的rfbserver.c。试着在那里找到"压缩"和这个变量的定义(或者像这样的宏或smth)。然后尝试在include文件中查找此变量的定义。当您找到它们时,请将此文件包含到项目中。