着色器在 QML 中的插件安装
Posted
技术标签:
【中文标题】着色器在 QML 中的插件安装【英文标题】:shaders' plugin installation in QML 【发布时间】:2011-11-29 21:49:36 【问题描述】:我想尝试使用QML ShaderEffectItem on QGraphicsView
我已经从https://qt.gitorious.org/qt-labs/qml1-shadersplugin 克隆了文件在帖子中是如何写的,并且我已经在~/Dev/GitRepo/qml1-shadersplugin$
中编译了这个插件:
使用 QtCreator,编译这个文件:qmlshadersplugin.pro
但现在我在这个文件夹中运行(~/Dev/GitRepo/qml1-shadersplugin):make install
我有很多:错误:
~/Dev/GitRepo/qml1-shadersplugin$ make installcd src/ && make -f Makefile install
make[1]: Entering directory `/home/goran/Dev/GitRepo/qml1-shadersplugin/src'
g++ -c -m32 -pipe -O2 -D_REENTRANT -Wall -W -fPIC -DQT_NO_DEBUG -DQT_PLUGIN -DQT_DECLARATIVE_LIB -DQT_OPENGL_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I../../../../QtSDK/Desktop/Qt/474/gcc/mkspecs/linux-g++-32 -I. -I../../../../QtSDK/Desktop/Qt/474/gcc/include/QtCore -I../../../../QtSDK/Desktop/Qt/474/gcc/include/QtGui -I../../../../QtSDK/Desktop/Qt/474/gcc/include/QtOpenGL -I../../../../QtSDK/Desktop/Qt/474/gcc/include/QtDeclarative -I../../../../QtSDK/Desktop/Qt/474/gcc/include -I/usr/X11R6/include -I. -o qmlshadersplugin_plugin.o qmlshadersplugin_plugin.cpp
In file included from ../../../../QtSDK/Desktop/Qt/474/gcc/include/QtOpenGL/QtOpenGL:5:0,
from shadereffectitem.h:46,
from qmlshadersplugin_plugin.cpp:43:
../../../../QtSDK/Desktop/Qt/474/gcc/include/QtOpenGL/qgl.h:77:20: fatal error: GL/gl.h: No such file or directory
compilation terminated.
make[1]: *** [qmlshadersplugin_plugin.o] Error 1
make[1]: Leaving directory `/home/igor/Dev/GitRepo/qml1-shadersplugin/src'
make: *** [sub-src-install_subtargets] Error 2
有什么问题?
【问题讨论】:
【参考方案1】:GL/gl.h: No such file or directory
这意味着您要么没有安装 opengl 库(非常不可能),要么您没有在 qmake 文件中启用它(很可能)。要在 qmake 文件中启用 opengl,您需要添加这一行:
QT += opengl
更多信息here。
【讨论】:
或者,对我来说,最有可能的是缺少 opengl 开发包、libmesa-dev 或类似的东西。以上是关于着色器在 QML 中的插件安装的主要内容,如果未能解决你的问题,请参考以下文章
QML:如何将着色器效果与 QtGraphical 效果混合?