我有一个使用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
现在,您可以使用(
n
)make deploylibs
命令部署库。注意:有一个非常有用的工具,称为“ Dependency Walker”,用于查找所需的DLL。仅适用于Windows。对于Linux及其
*.so*
文件,可以使用ldd
命令:>$: ldd theexecutable
alib.so => /path/to/library/on/your/computer.so
...