2014-01-20 459 views
7

我想将我用Qt编写的项目发布到Ubuntu/Linux用户。如果他们试图执行他们收到此错误信息生成发行版本,因为他们还没有安装的Qt:Qt项目发布ubuntu - 加载共享库时出错:libQt5Widgets.so.5

错误而载入共享库:libQt5Widgets.so.5: 无法打开共享对象文件:没有这样的文件或目录

有没有办法添加所有的库如libQt5Widgets.so.5到可执行的,就像Windows与qt.conf,在那里你可以指定Plugins文件夹下的文件夹?

+0

不清楚“将库添加到库所在的文件夹”的含义。你的意思是你的应用程序驻留在哪里?然后你提到'就像在qt.conf下的windows下一样'。我想你想要将Qt库复制到一个文件夹,然后告诉应用程序库驻留的位置? –

+0

@KurtPattyn'我想你想将Qt库复制到一个文件夹中,然后告诉应用程序库驻留在哪里?“这正是我想要的。 – Niklas

+0

你是怎么解决这个搭档的? – Michael

回答

0

使用Ubuntu的包管理系统对项目进行打包可能是最简单的。当您的项目安装时,Qt依赖关系将由包管理器自动安装。只要Ubuntu的软件包存储库中有可用的Qt 5版本,那就是最好的办法了。它会为你节省很多的痛苦。

+0

所以你的意思是'sudo apt-get install libqt5'? – Niklas

+0

是的,您应该将自己的项目作为apt包提供,具体取决于libqt5。然后,当您的软件包安装时,应该自动拉入libqt5。 –

1

一种解决方案可能是:

export LD_LIBRARY_PATH=/path/to/dir/with/libs:$LD_LIBRARY_PATH 

但一个妥善的解决办法是安装Qt库系统和/或打包的应用程序的Ubuntu(你的情况)。

+0

这不能自动完成,对吧?因为它取决于用户放置程序的位置。 – Niklas

+0

当然,您可以提供一个脚本来启动您的应用程序,其中库路径是您当前的目录。 – kikeenrique

1

当我看到这个错误时,我最近通过SDK管理器更新了Android工具。

重新安装要修复的SDK工具。这是我的机器的工作原理。