Qt5程序运行遇到的“QOpenGLShaderProgram::uniformLocation(qt_Matrix): shader program is not linked QOpenG”问题
1 编译Qt 5.6.1源码,生成qmake,用生成的qmake去编译产生opengl例程,执行时会报“QOpenGLShaderProgram::uniformLocation(qt_Matrix): shader program is not linked QOpenG”错误2 通过ldd命令查看 opengl 程序的链接库关系,发现opengl库 libGL.so链接路径为/usr/lib/
1 编译Qt 5.6.1源码,生成qmake,用生成的qmake去编译产生opengl例程,执行时会报
“QOpenGLShaderProgram::uniformLocation(qt_Matrix): shader program is not linked QOpenG”错误
2 通过ldd命令查看 opengl 程序的链接库关系,发现opengl库 libGL.so链接路径为
/usr/lib/aarch64-linux-gnu/mwv
而打开ld.so.conf.d目录下的链接配置文件,发现系统环境opengl的ld链接路径是
/usr/lib/aarch64-linux-gnu/mesa
所以GL库链接路径对不上,导致动态加载组件有问题。
3 解决方法就是增加正确路径到系统
进入目录/etc/ld.so.conf.d,找到GL对应的配置文件aarch64-linux-gnu_GL.conf,打开文件,增加“/usr/lib/aarch64-linux-gnu/mwv”一行,关闭保存(具体路径名称要看你应用的ldd执行结果)
4 执行一下ldconfig更新一下,再次运行Qt 的opengl例程,一切OK。
更多推荐
所有评论(0)