C++ 从QtCreator启动OpenGl应用程序时出现严重问题
我的平台是fedora 21 x64和QT 5.4 qtcreator 3.3.0 我的图形卡是NVS4100,安装支持OpenGl的NVIDIA驱动程序C++ 从QtCreator启动OpenGl应用程序时出现严重问题,c++,qt,opengl,qt-creator,qt5,C++,Qt,Opengl,Qt Creator,Qt5,我的平台是fedora 21 x64和QT 5.4 qtcreator 3.3.0 我的图形卡是NVS4100,安装支持OpenGl的NVIDIA驱动程序 当我在qtcreator之外执行编译的opengl应用程序时,它可以正常工作 当我从qt creator执行相同操作时,我会收到错误消息: libGL错误:找不到匹配的FBConfig或Visual libGL错误:无法加载驱动程序:swrast 。。。 经过一些调查,我发现QProcess::start use by qtcreator在环
从qtcreator更改LD_LIBRARY_路径的所有尝试都失败,Qprocess::start append/usr/lib64在前面?我在以下错误报告中找到了基本问题的答案:
显然,Qt需要修复名为DesktopQmakeRunConfiguration的函数/方法。我对fedora 19 x64和Qt 5.3.2也有同样的问题 libGL错误:无法加载驱动程序:swrast 正如您所指出的,LD_LIBRARY_PATH似乎弄乱了正确库的本地化(/usr/lib64/libGL.so.1而不是/usr/lib64/nvidia/libGL.so.1) 在我的例子中,这是由以下行在my.pro文件中添加外部库引起的: unix:!macx:LIBS+=-L/usr/lib64-lrt 为了避免路径不明确并解决此问题,我指定了需要链接的库的名称: unix:!macx:LIBS+=-L/usr/lib64/librt.so-lrt 在这之后,libGL错误消失了!!(我仍然能够在openSUSE 13.2上链接librt.so)
我可以将项目“运行配置”中的“LD_LIBRARY_PATH”或“设置>选项>构建和运行>工具包>环境”中更一般的位置中的“LD_LIBRARY_PATH”更改为nothing,或更改为AMD专有驱动程序“libGL.so”的路径“/usr/X11R6/lib64/”openGL程序运行时不会出错。使用OpenSuse 42.1和Qt Creator 5时也会出现同样的错误。在使用社区NVidia repo更新视频驱动程序后开始出现错误。显然,只有在使用64位linux发行版时才会出现此错误。我可以通过编辑Qt Creator中的LD_LIBRARY_路径从/usr/lib64到/usr/lib当我从Macbook Pro ssh进入我的Ubuntu虚拟机时,我遇到了同样的问题。在我的Ubuntu 16.04 64位操作系统上安装下面的驱动程序为我解决了这个问题。希望这对其他人有所帮助
sudo apt get install nvidia-331我在Arch Linux上多次遇到类似问题。提到的错误阻止程序启动: libGL错误:找不到匹配的FBConfig或Visual libGL错误:无法加载驱动程序:swrast 在我的案例中,一个可行的快速解决方案是LD_预加载正确的库:
$ LD_PRELOAD='/usr/lib/nvidia/libGL.so' <program>
<>英伟达4.5.2,我在Ung>项目> ->构建和运行>运行运行> >运行< /COD>。.so.nonvidia****mv libGL.so.1 libGL.so.1.nonvidia ln-s/usr/lib64/nvidia/libGL.so.1 libGL.so.1 ln-s/usr/lib64/nvidia/libGL.so.1 libGL.so旧的符号链接不利于解决某些问题,但您最初关心的问题是正确的。我希望有人知道它的真正答案。但是,它是否可以在其他发行版上复制?更好的方法是将/usr/lib64附加到LD_LIBRARY_PATH**1)在QtCreator中查找并复制您的LD_LIBRARY_PATH****2),转到项目->工具包->运行->运行环境,编辑并粘贴预期的LD\U库\U路径值**也可以
$ namei /usr/lib/nvidia/libGL.so
f: /usr/lib/nvidia/libGL.so
d /
d usr
d lib
d nvidia
l libGL.so -> libGL.so.1
l libGL.so.1 -> libGL.so.340.107
- libGL.so.340.107
$ file /usr/lib/nvidia/libGL.so.340.107
/usr/lib/nvidia/libGL.so.340.107: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, stripped