我正在尝试编译使用libvncserver的项目。
这是我的Makefile:
CC = gcc
OBJS = rcmain.o events.o util.o cursor.o sockets.o table_crypt.o
LOBJ = launcher.o util.o d3des/d3des.o
CFLAGS = -Wall -O2 -static-libgcc -fomit-frame-pointer -std=gnu99
LIBS = -lXtst -lXext -lX11 -lpthread -ljpeg -lz
all: $(OBJS) $(LOBJ)
$(CC) $(OBJS) $(CFLAGS) $(LIBS) /usr/lib/x86_64-linux-gnu/libvncserver.a -o tvnc
strip -s tvnc
clean:
rm -f *.o *.bak core ivvnc tvnc
我收到了错误的错误:
/usr/lib/x86_64-linux-gnu/libvncserver.a(rfbserver.o): na função `rfbClientConnectionGone':
(.text+0x934): referência indefinida para `deflateEnd'
/usr/lib/x86_64-linux-gnu/libvncserver.a(rfbserver.o): na função `rfbClientConnectionGone':
(.text+0x948): referência indefinida para `deflateEnd'
/usr/lib/x86_64-linux-gnu/libvncserver.a(rfbserver.o): na função `rfbSendFileTransferChunk':
(.text+0x1d5e): referência indefinida para `compress'
/usr/lib/x86_64-linux-gnu/libvncserver.a(rfbserver.o): na função `rfbProcessFileTransfer':
(.text+0x237a): referência indefinida para `uncompress'
/usr/lib/x86_64-linux-gnu/libvncserver.a(websockets.o): na função `webSocketsEncodeHixie':
(.text+0x26): referência indefinida para `__b64_ntop'
/usr/lib/x86_64-linux-gnu/libvncserver.a(websockets.o): na função `webSocketsEncodeHybi':
(.text+0xd4): referência indefinida para `__b64_ntop'
/usr/lib/x86_64-linux-gnu/libvncserver.a(websockets.o): na função `webSocketsDecodeHybi':
(.text+0x4bc): referência indefinida para `__b64_pton'
/usr/lib/x86_64-linux-gnu/libvncserver.a(websockets.o): na função `webSocketsDecodeHixie':
(.text+0x774): referência indefinida para `__b64_pton'
/usr/lib/x86_64-linux-gnu/libvncserver.a(websockets.o): na função `webSocketsCheck':
(.text+0xfb6): referência indefinida para `__b64_ntop
...
你可以帮帮我吗?
谢谢。
最佳答案
您链接到zlib太早了;链接到静态库时顺序很重要。尝试将$(LIBS)
放在vncserver静态库之后。
您可能要考虑使用pkg-config
; libvncserver附带一个* .pc文件,这几乎是它设计的……在我的系统上,pkg-config --libs libvncserver
看起来像:
-lvncserver -lnsl -lpthread -lz -lpng -ljpeg -lresolv -lgcrypt -ldl -lgpg-error -lgnutls -lz
关于c - 使用libvncserver编译项目时出错,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49559313/