我有一个使用Qt的C ++项目,并且可以按预期工作。但是,问题是当我复制
执行后,将其安装到标准安装的操作系统(例如Windows或Linux)中的可执行文件,我收到QtWidgets或其他一些Qt库缺少错误。

我尝试参考Qt文档,但是找不到解决方案或我所追求的例子。它与静态和动态构建有关...但是找不到合适的示例或教程。

我看了教程http://www.qtcentre.org/wiki/index.php?title=Deploying_Qt_Applications,但这并不是最有效的解决方案。

基本上,我希望系统包括所需的Qt库以及最终的编译文件。我怎样才能把它摘下来?

最佳答案

您可以做的是编写一个脚本,该脚本将DLL(或.so *文件)复制到可执行文件夹中。完成后,在项目文件中添加一个额外的Makefile目标:

theproject.pro:

OTHER_FILES += copy.script    # Assuming your copy script is called "copy.script"
deploylibs.target = deploylibs
deploylibs.command = ./copy.script    # Launching the script

QMAKE_EXTRA_TARGETS += deploylibs


现在,您可以使用(nmake deploylibs命令部署库。

注意:有一个非常有用的工具,称为“ Dependency Walker”,用于查找所需的DLL。仅适用于Windows。对于Linux及其*.so*文件,可以使用ldd命令:

>$: ldd theexecutable
    alib.so => /path/to/library/on/your/computer.so
...

10-04 17:42