每当我尝试编译 Code::Blocks 的 C++ 项目时,我都会收到此错误:
/usr/bin/ld: cannot find -lGL
我已尝试根据此问题的其他解决方案安装以下软件包:
fglrx-dev
fglrx-updates
fglrx-updates-dev
找不到上面的3个。
mesa-common-dev
freeglut3-dev
freeglut3
libgl1-mesa-dev
build-essential checkinstall libc6-dev libssl-dev libexpat1-dev libgl1-mesa-dev libqt4-dev libavcodec-dev libavutil-dev pkg-config
libxmu-dev
libxmu-headers
libxext-dev
libxi-dev
所有这些要么已经安装,要么什么也没做。我有 nvidia-driver-515。
这个错误是因为链接器(
/user/bin/ld
)找不到libGL.so
。这个库是由libgl1-mesa-dev
包提供的,但有些符号链接可能会搞砸。您可以尝试使用重新
libgl1-mesa-dev
安装如果错误是由损坏的符号链接引起的,重新安装可能会导致重新创建符号链接,从而修复。
您可以尝试自己重新创建符号链接。
/usr/lib/x86_64-linux-gnu/libGL.so
应该符号链接到实际libGL.so
文件(可能带有类似.1
或类似后缀)所在的位置。您可以查看/usr/lib/x86_64-linux-gnu/
或/usr/lib
查找文件,删除当前所在的符号链接/usr/lib/x86_64-linux-gnu/libGL.so
,然后使用重新创建指向实际库的符号链接