Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/139.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 源频繁更改时部署Qt应用程序_C++_Qt_Deployment_Compilation_Mingw32 - Fatal编程技术网

C++ 源频繁更改时部署Qt应用程序

C++ 源频繁更改时部署Qt应用程序,c++,qt,deployment,compilation,mingw32,C++,Qt,Deployment,Compilation,Mingw32,我目前正在开发一个GUI应用程序,它应该能够在Windows和基于Qt(C++)的平台上解密一些数据并将其打印到屏幕上。代码运行良好,我现在必须分发它 然而,破译的数据格式可以(也将)演变,并在标题(.h)和来源(.c)中描述。因此,当这种情况发生时,我只需将这些文件更改为最新版本,编译就会顺利进行,程序运行也会顺利。这是一个简单的拖放我的源文件夹中的新文件,真的 我知道如何部署.exe(使用正确的dll等等),但我认为它在这种情况下不起作用。我简要介绍了如何创建安装程序,但我不确定这是否是处理

我目前正在开发一个GUI应用程序,它应该能够在Windows和基于Qt(C++)的平台上解密一些数据并将其打印到屏幕上。代码运行良好,我现在必须分发它

然而,破译的数据格式可以(也将)演变,并在标题(.h)和来源(.c)中描述。因此,当这种情况发生时,我只需将这些文件更改为最新版本,编译就会顺利进行,程序运行也会顺利。这是一个简单的拖放我的源文件夹中的新文件,真的

我知道如何部署.exe(使用正确的dll等等),但我认为它在这种情况下不起作用。我简要介绍了如何创建安装程序,但我不确定这是否是处理这种情况的正确方法()

我如何分发此代码,以便希望使用它的人只需更改源代码,运行脚本,就可以生成.exe,即使在没有Qt的计算机上也是如此?(但可能是mingw32,并且仅在Windows上)


提前感谢您的帮助

根据我的理解,您应该包含dll,如果数据格式发生变化,您可以只更新和维护dll

在发布模式下构建项目,然后使用QTWinDeploy完成项目的构建,并为没有QT的用户提供项目所需的所有依赖项。 这就是我如何维护和分发类似于您的项目的方式


否则,我建议您查看自我更新程序。

您认为您仍然需要构建该程序,因为最终用户必须安装并维护完整的工具链。我建议您研究自我更新程序,例如Valve的Steam客户端,还有许多其他示例。您可以采用的另一种方法是模块化体系结构,将更改后的组件作为动态运行时模块交付。我将尝试使用自更新程序,谢谢您的提示!对于我从中收集的信息,我仍然需要在我的计算机上编译然后分发它,对吗?谢谢,但是关于dll,这真的不是一个问题,我更关心的是构建项目,有没有任何方法可以在没有Qt的计算机上编译代码?我肯定会看看自我更新程序。老实说,我不知道有什么特别的方法,我在QT中开发的项目,分发给我的团队,维护它们的人也安装了QT。您可以利用QTWinDeploy将可执行文件分发给没有QT的人。所有依赖项都将与项目一起构建,以便它们可以运行可执行文件。对不起,如果我的答案不是你想要的