我在QT创建者中有大约十几个程序,其中一个程序无法在IDE中打开,这意味着如果我从命令行打开它,它运行正常,gdb和valgrind不会发现任何异常。但是当我尝试在QT创建者中打开它时,我立即得到错误program has unexpectedly finished
,当我在调试模式下运行时,我得到了这个回溯:
1 ??
2 ??
3 ??
4 ??
5 ??
6 ??
7 ??
8 ??
9 ??
10 ??
11 ??
12 ??
13 ??
14 ??
15 ??
16 ??
17 ??
18 glXGetFBConfigs
19 glXChooseFBConfigSIGX
20 ??
21 ??
22 ??
23 QXcbWindow::create()
24 QXcbIntegration::createPlatformWindow(QWindow *) const
25 QWidgetPrivate::create(bool)
26 QWidgetPrivate::create_sys(unsigned long long, bool bool)
27 QWidget::create(unsigned long long, bool, bool)
28 QWidget::setVisible(bool)
29 main main.cpp 62
我该怎么办?因为我需要跟踪工具......
答案 0 :(得分:0)
安装AMDGPU-PRO后遇到了同样的问题。 QT Creator在运行您正在开发的程序之前将环境变量LD_LIBRARY_PATH
设置为/usr/lib/x86_64-linux-gnu
。在命令行shell中,未设置此变量(至少在我的计算机上,使用echo $LD_LIBRARY_PATH
进行测试)。
要在QT Creator中更改此变量,请单击“项目”图标。选择项目,然后单击Build& Run and Run。在“运行环境”下,单击“详细信息”,然后选择LD_LIBRARY_PATH
。点击Unset为我修复了问题。
显然,如果你没有取消设置这个变量,只要你在.pro文件中添加一个库,QT Creator就会为它添加一个新目录。如果LD_LIBRARY_PATH
确实需要此目录条目,则取决于库是否在标准库搜索路径中。在命令行上,您可以使用ldconfig -p | grep <yourlib>
对其进行测试。您可以在保留添加的库的目录的同时编辑它,而不是在QT Creator中取消设置变量,只需删除/usr/lib/x86_64-linux-gnu
。