c – 人们需要运行我的应用程序?

我做了一个小应用程序并构建了一个发布版本.现在我想将它上传到我的网站.我以前从未用Qt做过这个,所以我不确定我应该包含什么以及二进制文件.

如何确定应用程序中应包含哪些DLL?我从哪里得到它们?我正在运行Windows,但我也想知道如果我想发布Linux版本应该怎么做.

解决方法

对于Windows:

您可以使用依赖性walker来查看您应该发布的Qt库(或其他).这是Visual Studio附带的depends.exe可执行文件,但您可以从以下位置单独下载:http://www.dependencywalker.com/

将您的应用程序加载到其中,它将列出运行时期望的所有模块.您可能还必须提供与您构建可执行文件的编译器兼容的Visual C运行时可再发行组件(如果它是VC).

请注意,依赖性walker不会考虑像Qt插件这样的东西.这方面的一个例子是QtAssistant系统(用于帮助菜单类型的功能),从Qt4开始依赖于Qt的sqlite功能,它通常构建为插件(如果我记得,则为qtsqlite4.dll).

对于Linux:

由于Linux发行版中存在更大的差异,因此这更为棘手.如果你想发布源代码,你当然可以使用GNU构建系统,但是如果你要发送二进制文件,并且想要支持各种发行版,你可能最好为你想要发布的每个平台构建软件包.

在我过去,我工作的公司转而使用cmake,在设置了所有项目和构建文件之后,使用它来为不同的操作系统生成构建和包.在Windows上,这意味着与Inno Setup挂钩,对于类Unix系统,cmake知道如何生成可安装shell脚本之类的东西.绝对让生活变得更轻松.

我们的QA部门将在我们支持的平台的虚拟机实例中测试我们的软件,完全清理,并查看是否有任何遗漏.

相关文章

本程序的编译和运行环境如下(如果有运行方面的问题欢迎在评...
水了一学期的院选修,万万没想到期末考试还有比较硬核的编程...
补充一下,先前文章末尾给出的下载链接的完整代码含有部分C&...
思路如标题所说采用模N取余法,难点是这个除法过程如何实现。...
本篇博客有更新!!!更新后效果图如下: 文章末尾的完整代码...
刚开始学习模块化程序设计时,估计大家都被形参和实参搞迷糊...