我在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
我在link找到了一些解决方案(有些链接已经死了)。
所以我在我的.pro文件中添加了这一行:
CONFIG += static
静态编译我的项目。
我认为我得到的文件会更大,但我的大小和错误相同。
谢谢。
答案 0 :(得分:9)
在您测试的其他计算机上不存在Qt共享库。所以你需要:
仅将CONFIG += static
添加到.pro文件中是不够的,还需要Qt静态库。所以要做#2你需要获得Qt源代码并自己构建它。
此外,Qt是根据LGPL许可的,因此在静态链接时您需要注意这一点。有些人认为LGPL不允许静态链接(除非你是LGPL自己的代码)和其他相信它的人(只要你愿意为你的应用程序发布目标代码)。但这是另一场讨论。