我正在尝试构建一个在QT Creator中创建的项目,不幸的是每次我尝试编译时都会出错。这是我的编译器输出:
23:02:20: Running steps for project WallpaperAppQt...
23:02:20: Configuration unchanged, skipping qmake step.
23:02:20: Starting: "/usr/bin/make"
g++ -m64 -o WallpaperAppQt main.o mainwindow.o moc_mainwindow.o -L/usr/X11R6/lib64 -lQt5Widgets -L/usr/lib/x86_64-linux-gnu -lQt5Gui -lQt5Core -lGL -lpthread
/usr/bin/ld: cannot find -lGL
collect2: error: ld returned 1 exit status
make: *** [WallpaperAppQt] Error 1
23:02:20: The process "/usr/bin/make" exited with code 2.
Error while building/deploying project WallpaperAppQt (kit: Desktop)
When executing step 'Make'
23:02:20: Elapsed time: 00:00.
答案 0 :(得分:10)
您需要一个提供libGL.so
(无后缀)符号链接的包。在Ubuntu中,它位于libgl1-mesa-dev
包中。所以就这样做:
sudo apt install libgl1-mesa-dev
答案 1 :(得分:6)
我可以按照此链接中的说明修复我的问题:
http://techtidings.blogspot.com/2012/01/problem-with-libglso-on-64-bit-ubuntu.html
(最后两个命令)
sudo rm /usr/lib/x86_64-linux-gnu/libGL.so
sudo ln -s /usr/lib/libGL.so.1 /usr/lib/x86_64-linux-gnu/libGL.so
答案 2 :(得分:0)
很明显,bool IsMouseHover(Control c, Control container)
{
Point p = Control.MousePosition;
Point p1 = c.PointToClient(p);
Point p2 = container.PointToClient(p);
if (c.DisplayRectangle.Contains(p1) && container.DisplayRectangle.Contains(p2))
{
return true;
}
return false;
}
在默认库路径中找不到ld
,应该包含lib GL
。您应该安装库/lib* /usr/lib*
或告诉GL
安装了lib g++
的地方,如果已经安装了cmd args -L,那么。{/ p>