windows - Qt 静态链接和部署

标签 windows qt deployment static

我正在尝试部署(向公众发布)我最近制作的一个简单的 qt 应用程序,但卡在静态链接 qt 库上。

我按照 qt 文档上的指南静态地重新构建 qt 和我的应用程序。但是发布版本仍然需要 qtgui/qtcore dll 没有明显的原因,我想知道以前是否有人见过这种问题?或者更好的是,已经成功解决了它?

http://doc.qtsoftware.com/4.5/deployment-windows.html

最佳答案

我写了a guide to static linking

How to build Qt static with multiple compilers and keep it small

(因为它可以变得相当大,特别是对于简单的程序)。 您可能还想查看 BitRock 安装程序,它对开源项目是免费的。

简而言之,如果您使用 Qt 认为是插件的任何东西,例如对大多数图像类型(JPEG、GIF)或数据库的支持,结果会变得稍微复杂一些。 例如,如果您想为您的图标包含对 Oracle DBMS 和 GIF 图像的支持,您可以将以下内容添加到您的 .PRO 文件中:

QTPLUGIN += qsqloci qgif
CONFIG += static

然后您需要:

#include <QtPlugin>

在您的项目中,并导入任何使用的插件。您需要更改这些设置以使其再次使用动态链接进行编译(例如在调试或添加功能时),尽管这可以很容易地自动化。在构建用于静态链接的 Qt 库时也有一些注意事项,尽管 Qt 说明至少可以帮助您入门。

关于windows - Qt 静态链接和部署,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1011197/

相关文章:

java - 使用Docker在Weblogic上部署EAR的正确方法是什么

c++ - WinAPI C++ : Reprogramming Window Resize

c# - 如何获取有关最近连接的 USB 设备的信息?

c++ - 了解 C++ 程序 [ Bjarne Stroustrup 的书 ]

windows - 安装Docker时如何在Windows Server 2016 TP4中正确创建虚拟交换机? (不是boot2docker)

c++ - 如何从 QDateTime 获取时区

c++ - QThread::终止与杀死

java - 最佳实践 :Deploying Angular App and Spring REST Api

c++ - 如何将鼠标坐标转换为 "mm"

linux - 将 bash 脚本上传到 MAAS 部署的 Ubuntu 机器上