【问题标题】:Gtk2hs invalid signalsGtk2hs 无效信号
【发布时间】:2019-01-19 20:43:58
【问题描述】:

我正在运行一个非常简单的“hello world”GUI 程序。 (另存为gui.hs) 我的代码是:

import Graphics.UI.Gtk

main = do
  initGUI
  window <- windowNew
  widgetShowAll window
  onDestroy window mainQuit
  mainGUI  

我编译:ghc -L/usr/lib gui

它编译得很好,但是当我运行它时,我看到:

objc[51245]: Class GNotificationCenterDelegate is implemented in both /usr/local/opt/glib/lib/libgio-2.0.0.dylib and /opt/local/lib/libgio-2.0.0.dylib. One of the two will be used. Which one is undefined.

(process:51245): GLib-GObject-WARNING **: gsignal.c:2423: signal 'destroy' is invalid for instance '0x7fe9dc81a0e0' of type '(null)'

窗口出现,但当我单击关闭窗口时它不会退出。 (窗口消失,但进程并未终止。)

这是一个非常简单的示例 - 我尝试制作触发信号的按钮,但我(几乎)总是收到“信号无效”警告。

我正在使用带有 GHC 8.4.3(Haskell 平台)的 Mac OS X El Capitan,我按照此处的说明安装了所有内容:(第 2 节) [https://wiki.haskell.org/Gtk2Hs/Mac]

我开始觉得我的安装搞砸了?也许我还需要用 brew 安装 GHC 吗?有什么方法可以测试安装(除了尝试我已经在做的事情)?这两个运行时警告是否相互关联?感谢您的帮助!

【问题讨论】:

  • 我远非 Mac 专家,但看起来您可能在两个不同的地方安装了两次 glib,而 GHC 不确定该使用哪一个。我不太确定如何解决它,但brew uninstall glib 可能工作。

标签: haskell ghc gtk2hs


【解决方案1】:

自我回答:我通过删除 Haskell 平台并使用 brew 重新安装 GHC 来解决此问题。然后一切正常。

【讨论】:

    猜你喜欢
    • 2017-02-09
    • 1970-01-01
    • 2020-02-01
    • 2013-07-23
    • 2014-11-14
    • 1970-01-01
    • 1970-01-01
    • 2012-03-26
    • 1970-01-01
    相关资源
    最近更新 更多