如何在 Windows 上分发 Gtkmm 应用程序?
Posted
技术标签:
【中文标题】如何在 Windows 上分发 Gtkmm 应用程序?【英文标题】:How do I distribute a Gtkmm application on Windows? 【发布时间】:2020-07-13 17:43:22 【问题描述】:我使用 gtkmm(GTK+ 的 C++ 语言包装器)编写了一个 GUI。我已经能够找到.exe 的.dll。文件依赖,并使用 NSIS 制作基本安装程序。但是,我无法将应用程序分发到其他 Windows 设备。由于我对此完全陌生,有人对如何正确分发应用程序有建议吗?我真正需要做的就是在其他几台电脑上下载它。谢谢!
【问题讨论】:
您需要分发您的编译器运行时库,以及您正在使用的任何其他库,以及您的程序。 您在另一台机器上执行了安装程序并且它可以工作?是应用程序失败了? @Manuel 如果我不包含 .dll,应用程序将失败,并为找不到的任何文件显示“缺少 ____.dll”。但是当我将所有 .dll 文件包含在与 .exe 文件相同的目录中时,应用程序将失败并出现与 Gdk 相关的错误 @LiamWard 你能显示错误吗? @Manuel 感谢您的帮助,当所有 .dll 文件都包含在与 .exe 相同的目录中时,我得到的 Gdk 错误是“在抛出 Gdk::PixbufError 实例后调用终止” .但是,该错误并没有出现在我开发应用程序的原始机器上,并且我检查了我加载的所有图像都与 .exe 位于同一目录中。 【参考方案1】:尝试捕获异常并查看Gdk::PixbufError::code()
或Gdk::PixbufError::what()
以了解它抛出的原因。
你有几个代码:
CORRUPT_IMAGE,
INSUFFICIENT_MEMORY,
BAD_OPTION,
UNKNOWN_TYPE,
UNSUPPORTED_OPERATION,
FAILED,
INCOMPLETE_ANIMATION
开发机中的图片与构建.exe
在同一目录下?
此外,如果您通过图标、快捷方式或类似方式运行应用,则当前目录可能与.exe
不同。
【讨论】:
以上是关于如何在 Windows 上分发 Gtkmm 应用程序?的主要内容,如果未能解决你的问题,请参考以下文章
将 gtkmm2 应用程序部署到 Windows - 字体未从 mingw 终端呈现