我有一个使用 Qt 的 C++ 项目,我让它按预期工作。但是,问题是当我复制 将可执行文件转换为操作系统(例如 Windows 或 Linux)的标准安装 在执行时我收到 QtWidgets 或其他一些 Qt 库丢失错误。
我尝试引用 Qt 文档,但找不到解决方案或我所追求的示例。它与静态和动态构建有关...但找不到好的示例或教程。
我看了教程http://www.qtcentre.org/wiki/index.php?title=Deploying_Qt_Applications但这并不是最有效的解决方案。
基本上我希望系统包含所需的 Qt 库以及最终编译的文件。我怎样才能成功?
最佳答案
您可以做的是制作一个脚本,将您的 DLL(或 .so* 文件)复制到可执行文件夹中。一旦你在你的项目文件中添加一个额外的 Makefile 目标:
项目.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
...
关于c++ - 编译 Qt 项目并包含 Qt 库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19375292/