我正在尝试安装魔法旋转。在这些步骤中,有一个 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 开关需要放在最后)。