创建一个可移植的、跨平台的、开源的、开箱即用的c++ GUI应用程序

Creating a portable, cross-platform, open-source C++ GUI application that works out of the box?

本文关键字:c++ 应用程序 GUI 开源 跨平台 一个 可移植 创建      更新时间:2023-10-16

我一直在寻找如何完成标题中描述的内容。也就是说,我想创建一个c++ GUI应用程序,它:

  • 是可移植的(没有安装程序)
  • 是跨平台的(Qt解决这个问题)
  • 是开源的
  • 可以开箱即用(即不需要安装可重新发布的c++)

我在尝试完成这个时遇到了几个问题。我已经把范围缩小到使用Qt而不是使用Visual Studio编译器。让我解释一下。

使用Qt将满足跨平台的要求;它在c++ GUI应用程序方面也广受好评。问题在于可移植性,并且在使用应用程序之前不需要安装大量的依赖包。我的目标是让某人下载一个包含。exe的。zip文件(如果有必要,我愿意包括其他支持文件,例如dll),并且能够提取并运行该exe开箱,而无需做任何其他事情。

这里还有另一个问题:尽管我很想使用Visual Studio(带有Qt Visual Studio插件),但考虑到我的要求,它似乎不可行。这篇文章很好地涵盖了我的问题。简单地说,如果我使用Visual Studio编译器,我需要创建一个安装程序(不再是一个可移植的应用程序),重新发布一些带有应用程序的Microsoft dll(这里可能存在许可和redist问题?),或者将Visual c++库静态地链接到可执行文件中(不赞成这种技术)。

是否有任何方法能够使用Visual Studio并满足上面列出的要求?Visual Studio功能齐全,不容错过。如果这是不可能的,我认为唯一的其他选择将是使用不同的IDE和/或编译器。例如,我可以在MinGW中使用QtCreator,但这样我就会失去一些很棒的VS调试功能。

我的主要问题:

  • 有什么方法可以满足上述要求,仍然使用Visual Studio?
  • 关于QtCreator不像Visual Studio那样功能齐全,我错了吗?
  • 满足申请要求的最佳方式是什么?

我认为您最好的选择是在MinGW环境中使用QT。它允许您创建一个可移植的应用程序,该应用程序本身提供运行时dll,并且具有完全开源的额外好处。QT在线安装程序为您提供了安装完整的MinGW系统的选项,并且它将开箱即用,不需要太多的设置。

你仍然可以使用Visual Studio进行开发;甚至还有一个QT插件(我不确定是否支持VS2015,但如果不支持,应该只需要一些时间)。

QTCreator实际上是一个相当不错的IDE,但它无法与Visual Studio相比。它显然是为了满足QT程序员的需求而优化的,但我发现它有时相当笨拙。如果你的项目很小,它可能是一个可行的选择,但由于Visual Studio 2015 Community基本上是免费的,我会选择它。VS插件仍然会使用QTCreator的GUI编辑器(这真的很好)