如何静态地构建Qt 5



我在linux环境下使用基于Qt 5.0.1的Qt Creator 2.6.2。应用程序在我编译的计算机上运行良好,但当我在另一台计算机上执行它时,我得到了如下错误:

error while loading shared libraries: libQt5WebKitWidgets.so.5: cannot open shared object file: No such file or directory
error while loading shared libraries: libxslt.so.1: cannot open shared object file: No such file or directory

我在这个链接中找到了一些解决方案(有些链接已经死了)。

所以我在我的。pro文件中添加了这一行:
CONFIG += static

静态编译项目。

我以为我得到的文件会更大,但我得到的大小和错误都是一样的。

谢谢。

Qt共享库在您测试它的另一台计算机上不存在。所以你需要:

  1. 将共享库复制到其他计算机。还是…
  2. 创建一个静态Qt构建链接到您的应用程序。

仅仅将CONFIG += static添加到.pro文件中是不够的,您还需要Qt静态库。因此,要实现#2,您需要获得Qt源代码并自己构建它。

另外,Qt是在LGPL下授权的,所以在静态链接时需要注意这一点。有些人认为LGPL不允许静态链接(除非你对自己的代码进行LGPL),而另一些人则认为它允许静态链接(只要你愿意发布你的应用程序的目标代码)。但那是另一个话题了

相关内容

  • 没有找到相关文章

最新更新