使用X11发出编译文件

问题描述 投票:1回答:1

我试过编译这个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

感谢您的时间

c gcc x11
1个回答
2
投票

这个命令对我有用:

gcc fbserver.c -lX11 -lXext -lXdamage -lXfixes -lXtst

XDamageCreate需要-lXdamage,而XFixesQueryExtension需要-lXfixes

© www.soinside.com 2019 - 2024. All rights reserved.