编译Qt项目并包含Qt库

时间:2013-10-15 07:15:36

标签: c++ qt qt5

我有一个使用Qt的C ++项目,我按预期工作。但问题是我复制的时候 执行时,OS的标准安装(例如Windows或Linux)的可执行文件我收到QtWidgets或其他一些Qt库缺失错误。

我尝试引用Qt文档但我无法找到解决方案或我所追求的示例。它与静态和动态构建有关...但无法找到一个好的示例或教程。

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

基本上我希望系统包含所需的Qt库以及最终编译的文件。我该怎么把它拉下来?

1 个答案:

答案 0 :(得分:1)

您可以做的是创建一个脚本,在可执行文件夹中复制您的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命令部署库。

NB :有一个名为“Dependency Walker”的非常有用的工具可以找到您需要的DLL。它仅适用于Windows。至于Linux及其*.so*文件,您可以使用ldd命令:

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