gcc 找不到-lX11

gcc can't find -lX11

我使用 linuxbrew 在我没有 sudo 访问权限的机器上安装了 gcc 5.3。我现在想 link 与 X11:

> gcc test.c -lX11
ld: cannot find -lX11

我检查过 libX11.so 存在于编译器 LIBRARY_PATH 上的 /usr/lib64/ 中。如果我使用系统的 gcc 它工作正常,但我需要一个更新的版本来编译我的实际程序。

使用 -L 标志,像这样 -L/usr/lib64,或者你可以像这样 gcc test.c /usr/lib64/libX11.so

指定库的完整路径

根据 linuxbrew 开发者的评论this

linuxbrewed gcc removes /usr/lib64 from the library path because mixing system libraries with brewed libraries creates havoc.

解决办法是brew install linuxbrew/xorg/xorg.