无法编译“check.c”文件

无法编译“check.c”文件

我正在尝试安装魔法旋转。在这些步骤中,有一个 C 文件需要我编译,但它给出了错误。

我正在使用的命令是gcc check.c,这里是输出:

/tmp/ccDA1vH4.o: In function `main':
check.c:(.text+0x2a): undefined reference to `XOpenDisplay'
check.c:(.text+0x89): undefined reference to `XRRSelectInput'
check.c:(.text+0xa2): undefined reference to `XNextEvent'
check.c:(.text+0xbb): undefined reference to `XRRGetScreenInfo'
check.c:(.text+0xdb): undefined reference to `XRRConfigRotations'
collect2: error: ld returned 1 exit status

...知道哪里出了问题吗?

答案1

结果发现这很简单。我只是忘了-o checkmagick64 -lX11 -lXrandr (没有阅读完整说明)所以正确的命令是

gcc check.c -o checkmagick64 -lX11 -lXrandr

答案2

乍一看,它看起来像是缺少库 (libx11-dev)。如果确实安装了该库,则编译器调用的顺序可能是错误的(-lX11 开关需要放在最后)。

相关内容