【问题标题】:How do I distribute a Gtkmm application on Windows?如何在 Windows 上分发 Gtkmm 应用程序?
【发布时间】: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 位于同一目录中。

标签: c++ windows deployment gtk gtkmm


【解决方案1】:

尝试捕获异常并查看Gdk::PixbufError::code()Gdk::PixbufError::what() 以了解它抛出的原因。

你有几个代码:

  CORRUPT_IMAGE,
  INSUFFICIENT_MEMORY,
  BAD_OPTION,
  UNKNOWN_TYPE,
  UNSUPPORTED_OPERATION,
  FAILED,
  INCOMPLETE_ANIMATION

开发机中的图片与构建.exe在同一目录下?

此外,如果您通过图标、快捷方式或类似方式运行应用,则当前目录可能与.exe 不同。

【讨论】:

    猜你喜欢
    • 2018-08-12
    • 2013-11-05
    • 1970-01-01
    • 2018-12-17
    • 1970-01-01
    • 2017-03-21
    • 2011-02-19
    • 1970-01-01
    • 2017-03-26
    相关资源
    最近更新 更多