【发布时间】:2016-05-02 22:39:10
【问题描述】:
我使用 linuxbrew 在我没有 sudo 访问权限的机器上安装 gcc 5.3。我现在想与 X11 链接:
> gcc test.c -lX11
ld: cannot find -lX11
我检查了libX11.so 是否存在于编译器的LIBRARY_PATH 上的/usr/lib64/ 中。如果我使用系统的gcc 可以正常工作,但我需要更新版本来编译我的实际程序。
【问题讨论】:
我使用 linuxbrew 在我没有 sudo 访问权限的机器上安装 gcc 5.3。我现在想与 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
【讨论】:
gcc test.c /usr/lib64/libX11.so 有效,但gcc test.c -L/usr/lib64 -lX11 无效。
根据this一位linuxbrew开发者的评论,
linuxbrewed gcc 会从库路径中删除
/usr/lib64,因为将系统库与 brewed 库混合会造成严重破坏。
解决办法是brew install linuxbrew/xorg/xorg。
【讨论】: