0

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

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

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

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

4

1 回答 1

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命令部署您的库。

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

>$: ldd theexecutable
    alib.so => /path/to/library/on/your/computer.so
...
于 2013-10-17T00:28:11.397 回答