我有一个使用Qt的C ++项目,我按预期工作。但问题是我复制的时候 执行时,OS的标准安装(例如Windows或Linux)的可执行文件我收到QtWidgets或其他一些Qt库缺失错误。
我尝试引用Qt文档但我无法找到解决方案或我所追求的示例。它与静态和动态构建有关...但无法找到一个好的示例或教程。
我查看了教程http://www.qtcentre.org/wiki/index.php?title=Deploying_Qt_Applications,但它不是最有效的解决方案。
基本上我希望系统包含所需的Qt库以及最终编译的文件。我该怎么把它拉下来?
答案 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
现在,您可以使用(n
)make deploylibs
命令部署库。
NB :有一个名为“Dependency Walker”的非常有用的工具可以找到您需要的DLL。它仅适用于Windows。至于Linux及其*.so*
文件,您可以使用ldd
命令:
>$: ldd theexecutable
alib.so => /path/to/library/on/your/computer.so
...