【问题标题】:Can't run Qt apps: version `Qt_5' not found无法运行 Qt 应用程序:找不到版本“Qt_5”
【发布时间】:2017-04-30 14:52:29
【问题描述】:

我运行的是 Ubuntu 16.04 LTS。 我的问题是我无法运行可以编译的 Qt5 应用程序。

这是我尝试运行它时得到的结果:

/home/user/Desktop/sconfig/dist/Release/GNU-Linux/SCongif: /usr/lib/x86_64-linux-gnu/libQt5OpenGL.so.5: version `Qt_5' not found (required by /home/user/Desktop/sconfig/dist/Release/GNU-Linux/SCongif)
/home/user/Desktop/sconfig/dist/Release/GNU-Linux/SCongif: /usr/lib/x86_64-linux-gnu/libQt5Core.so.5: version `Qt_5' not found (required by /home/user/Desktop/sconfig/dist/Release/GNU-Linux/SCongif)
/home/user/Desktop/sconfig/dist/Release/GNU-Linux/SCongif: /usr/lib/x86_64-linux-gnu/libQt5Core.so.5: version `Qt_5.6' not found (required by /home/user/Desktop/sconfig/dist/Release/GNU-Linux/SCongif)
/home/user/Desktop/sconfig/dist/Release/GNU-Linux/SCongif: /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5: version `Qt_5' not found (required by /home/user/Desktop/sconfig/dist/Release/GNU-Linux/SCongif)
/home/user/Desktop/sconfig/dist/Release/GNU-Linux/SCongif: /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5: version `Qt_5' not found (required by /home/user/Desktop/sconfig/dist/Release/GNU-Linux/SCongif)

然后我删除了 Qt5 并清除了所有残留物。然后我又安装了Qt5。

user@user-P64V7:~$ which qmake
/home/user/Qt5.8.0/5.8/gcc_64/bin/qmake
user@user-P64V7:~$ qmake --version
QMake version 3.1
Using Qt version 5.8.0 in /home/user/Qt5.8.0/5.8/gcc_64/lib
user@user-P64V7:~$ echo $PATH
/home/user/Qt5.8.0/5.8/gcc_64/bin:/home/user/bin:/home/user/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin

值得注意的是,我使用的是 Netbeans 8.2,QMake 命令是

/home/user/Qt5.8.0/5.8/gcc_64/bin/qmake

知道我做错了什么吗?

非常感谢!

【问题讨论】:

  • 你读过this thread吗?
  • 是的,我浏览了所有我能找到的线程。我的问题不是编译,而是执行……

标签: qt qt5 qmake


【解决方案1】:

于是我根据前面这两个问题想出了一个答案:

总而言之,要以正确的方式添加库,应将自定义 .conf 文件添加到包含库文件夹的所有绝对路径的文件夹 /etc/ld.so.conf.d,然后运行 ​​sudo ldconfig。 :)

【讨论】:

  • 将用户主目录中的内容添加到全局 /etc/ld.so.conf.d 有点可疑或至少是丑陋的(对于丑陋的某些定义)......我想这很好个人工作站,但我宁愿将其添加到特定于用户的 LD_LIBRARY_PATH,它由没有 root 访问权限的用户控制。
  • 不过,+1 是为了在解决您自己未回答的问题后提供答案,我总是觉得值得称赞。
  • 其实这是我在第二个问题的答案中找到的:由于Ubuntu 9.04 Jaunty Jackalope,LD_LIBRARY_PATH不能在$HOME/.profile、/etc/profile、也不能设置/等/环境文件。您必须使用 /etc/ld.so.conf.d/.conf 配置文件。
  • 哦,不知道。我通常在~/.bashrc 中设置 LD_LIBRARY_PATH,它适用于我需要的应用程序。
【解决方案2】:

cpu:armv8 操作系统:Linux kylin.5.desktop-generic 从 5.6 升级到 5.9

程序发布后也会出现类似情况。

解决方案:

  1. /usr/local/Qt-5.9.2复制到目标电脑中的/usr/local/

  2. qtchooser -install qt5.9 /usr/local/Qt5.9.1/5.9.1/gcc_64/bin/qmake

  3. sudo bash -c "echo export QT_SELECT=qt5.9 >> /etc/profile"

  4. sudo ldconfig -v

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-07-14
    • 1970-01-01
    • 2012-05-16
    • 1970-01-01
    • 1970-01-01
    • 2010-12-13
    • 1970-01-01
    • 2016-07-07
    相关资源
    最近更新 更多