【问题标题】:Haskell; Libglade-Warning: could not find glade file哈斯克尔; Libglade 警告:找不到林间空地文件
【发布时间】:2012-02-28 15:02:00
【问题描述】:

按照http://www.haskell.org/haskellwiki/Gtk2Hs/Windows#Windows_7_32_bit,我安装了Gtk2Hs / Glade,一切顺利。

现在C:\Users\X\Desktop\test 我有以下文件:gui.hs, hellogtk2hs.glade,
其中gui.hs 包含http://projects.haskell.org/gtk2hs/docs/tutorial/glade/ 上所示示例的行(第 1-21 行) hellogtk2hs.glade 是按照教程创建的 xml 文件。 编译和制作 .exe 文件有效,但如果我运行 .exe 文件,则会出现此错误:

(gui.exe:16924): libglade-WARNING **: 找不到林间空地文件 'hellogtk2hs.glade'
gui.exe:用户错误(在 gui.hs:8:5-12 的 do 表达式中模式匹配失败)

第 8 行是:Just xml <- xmlNew "hellogtk2hs.glade"

据我所知,没有错字,.exe 和 .glade 都在同一个文件夹中 - 谁能帮助我?为什么找不到.glade文件?

【问题讨论】:

    标签: haskell glade


    【解决方案1】:

    您必须从与 glade 文件所在的目录相同的目录启动可执行文件。这取决于您调用可执行文件的方式;尤其是在使用终端时,或者在资源管理器中双击可执行文件时,会设置不同的工作目录。

    为确保您始终能够访问独立于工作目录的 glade 文件,您应该使用绝对路径 (xmlNew "C:\Users\X\Desktop\test\hellogtk2hs.glade")。当您想让您的项目与位置无关时,您可以使用Cabal's data file support 来简化此过程。

    【讨论】:

    • 谢谢,现在.glade 文件找到了。但是现在我得到了这些错误(其中一个仍然与第 8 行有关): libglade-WARNING **: Expected 。得到。 libglade-WARNING **:未在 PARSER_FINISH 状态下完成 gui.exe:用户错误(gui.hs:8:5-12 处的 do 表达式中的模式匹配失败)。这是 .glade 文件:hpaste.org/64489
    • 您可能正在使用 Glade for GTK3。您应该为 GTK2 使用 Glade,或者手动更改 .glade 文件,例如将 <interface> 标记替换为 <glade-interface>编辑:您可能在实际需要 GTK3 时使用 Glade for GTK2。您必须进行实验。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多