参考了你上面的链接,想说一下可能做的处理。
你的QT工程是 MakeFile工程,先QMake,再Make。
对.pro文件的修改只不过通过QMake工具是修改了MakeFile的过程。
所以你可以直接去看输出的MakeFile文件,看里面的参数。
我现在大概知道你要干啥,就是ubuntu里面没有lgl或者不想用lgl但是QT就是帮你链接了lgl。
你先把MakeFile里面的-lGL 删掉,然后会发现,和刚刚一样结果。
然后make clean,重新make。
这时候用ldd XXXX命令可以查看你链接的库。XXX就是make的输出文件。
ldd工具会告诉你,其实还是用到了libGL了。
这是因为,虽然你没有显式告诉QT你要用OpenGL,但是QT画窗口默认用的就是OpenGL。
所以只要有:QT+= gui ,只要画了窗口,就会使用到-lGL 。
如果你就是不希望QT用OpenGL,那么你可以去QT的源码目录,调用./configure -no-opengl 来编译一个没有OpenGL支持的QT,这个QT画窗口也就不需要OpenGL的支持了。
去试试吧,有用可以告诉我。我现在也是,电脑支持OpenGL 4.6,但是,要测试OpenGL ES2.0所以希望这个程序和OpenGL没有关系。
======================================
=====补充=============================
自己也有点需求,所以自己来试一下。
先用QT正常走一遍我写的OpenGL ES2.0的程序,然后看Makefile的LIBS :
LIBS = $(SUBLIBS) -L/home/hydro/Qt/Qt5.10.1/5.10.1/gcc_64/lib -lQt5Widgets -lQt5Gui -lQt5Core -lGL -lpthread
用命令ldd 看到链接模块如下:
果然链接了libGL 模块。
果断删除-lGL ,再make clean 和 make,重新ldd查看。
发现libGL还在里头。
于是随便新建了一个QWindow工程,ldd看,果然只要是窗口就会加载libGL。
按照上面的说法进行重新配置QT :
cd 进QT 的src目录,./configure -opengl es2 ,再make,再make install。
(试过用-no-opengl发现中间报错,可能是必定需要的了。)
一段长长的时间过去。
安装完成,配置到工程去,重新运行。看Makefile:
LIBS = $(SUBLIBS) -L/usr/local/Qt-5.10.1/lib -lQt5Widgets -lQt5Gui -lQt5Core -lGLESv2 -lpthread
棒!!!!
再ldd看一下:
美滋滋~