如何静态构buildQt 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 

我在这个链接find了一些解决scheme(一些链接已经死了)。

所以我添加到我的.pro文件这一行:

 CONFIG += static 

要静态编译我的项目。

我以为我会得到的文件会更大,但我得到相同的大小和相同的错误。

谢谢。

Solutions Collecting From Web of "如何静态构buildQt 5"

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

  1. 将共享库复制到其他机器。 要么…
  2. 创建一个静态的Qt版本来连接你的应用程序。

只添加CONFIG += static到你的.pro文件是不够的,你还需要Qt静态库。 所以要做#2你需要获得Qt源代码并自己构建。

此外,Qt是根据LGPL许可的,所以你需要知道静态链接。 有些人认为,LGPL不允许静态链接(除非你LGPL自己的代码)和其他人认为它(只要你愿意释放你的应用程序的目标代码)。 但是这是另外一个讨论。