我试过编译这个X11服务器文件:
https://github.com/dnschneid/crouton/blob/master/src/fbserver.c
我执行了'gcc fbserver.o -lXtst -lX11',导致以下错误:
/ usr / bin / ld:fbserver.o:对符号'XShmGetImage'的未定义引用//usr/lib/x86_64-linux-gnu/libXext.so.6:添加符号时出错:命令行中缺少DSO:collect2:error:ld返回1退出状态
但是,如果我包含-lXext - 'gcc fbserver.o -lXext -lXtst -lX11'
,它不会编译:
fbserver.o: In function `register_damage':
fbserver.c:(.text+0x260e): undefined reference to `XDamageCreate'
fbserver.o: In function `init_display':
fbserver.c:(.text+0x26d9): undefined reference to `XDamageQueryExtension'
fbserver.c:(.text+0x2713): undefined reference to `XFixesQueryExtension'
fbserver.c:(.text+0x2824): undefined reference to `XFixesSelectCursorInput'
fbserver.o: In function `write_cursor':
fbserver.c:(.text+0x3b68): undefined reference to `XFixesGetCursorImage'
collect2: error: ld returned 1 exit status
感谢您的时间
这个命令对我有用:
gcc fbserver.c -lX11 -lXext -lXdamage -lXfixes -lXtst
XDamageCreate
需要-lXdamage
,而XFixesQueryExtension
需要-lXfixes
。