【问题标题】:Problems installing gtk2hs on windows在 Windows 上安装 gtk2hs 的问题
【发布时间】:2015-07-18 03:11:21
【问题描述】:

我决定尝试在我的 Windows 8(64 位)机器上安装 gtk2hs。我依赖于最新的 Haskell Platform 发行版。

所以,我访问了 wiki,并按照说明进行操作。我得到了 gtk+ 32 位发行版,版本 2.24,在一个包中。我正确解压,设置PATH指向gtk/bin,并创建INCLUDE和LIB变量分别指向gtk/include和gtk/lib(这一步似乎没有必要,但它不会伤害!)

然后我通过调用验证一切正常

pkg-config --modversion gtk+-2.0 

终端高兴地回叫

2.24.10 

太棒了!

然后,我运行 cabal install

gtk2hs-buildtools

这也很顺利。 但是,当我运行 cabal install gtk 时,它抱怨 glib 无法安装,因为它找不到一些 C 依赖项。我尝试通过运行来隔离问题

cabal install glib

并获得以下信息:

C:\Users\Federico>cabal install glib
Resolving dependencies...
Configuring glib-0.13.1.0...
Failed to install glib-0.13.1.0
Last 10 lines of the build log ( C:\Users\Federico\AppData\Roaming\cabal\logs\gl
ib-0.13.1.0.log ):
[1 of 2] Compiling Gtk2HsSetup      ( Gtk2HsSetup.hs, dist\setup-wrapper\Gtk2HsS
etup.o )
[2 of 2] Compiling Main             ( SetupMain.hs, dist\setup-wrapper\Main.o )
Linking dist/setup-wrapper\setup.exe ...
Configuring glib-0.13.1.0...
setup.exe: Missing dependencies on foreign libraries:
* Missing C libraries: gobject-2.0, gthread-2.0, glib-2.0, intl
This problem can usually be solved by installing the system packages that
provide these libraries (you may need the "-dev" versions). If the libraries
are already installed but in a non-standard location then you can use the
flags --extra-include-dirs= and --extra-lib-dirs= to specify where they are.
cabal: Error: some packages failed to install:
glib-0.13.1.0 failed during the configure step. The exception was:
ExitFailure 1

但这完全是废话!我知道图书馆在那里。我可以在 gtk/bin 文件夹中看到它们!我重新检查了我的路径,一切都很好。它们在路径中是可见的。 include 和 lib 也是如此。所有的。然而,阴谋集团抱怨找不到他们。

但这还不是最可怕的……我下载了 64 位库,版本 2.16……只需交换两个 gtk 文件夹……现在,cabal 快乐地构建了整个东西!当然,这是不可行的,因为平台上的 ghc 是 32 位的,而库是 64 位的,所以 ghc 无法链接到它……但至少 cabal 很高兴。

然后我删除 glib、cairo、pango、gtk 等,然后尝试再次安装 2.16、32 位。当然,cabal 抱怨缺少 C 依赖项。

此时,被这种卡夫卡式的情况弄糊涂了,我求助于堆栈溢出的智慧! 阴谋集团在拖钓我吗?错误信息是否具有误导性?还是我错过了一些明显的东西? 感谢大家的帮助!

【问题讨论】:

    标签: haskell gtk cabal glib


    【解决方案1】:

    如果您使用的是 64 位版本的 GHC,您也希望使用 64 位版本的 gtk。

    您可以在此链接上下载它。向下滚动一点并在一个捆绑包中下载 2.x(不是 3.x),不要下载 2.16: http://www.gtk.org/download/win64.php

    以上不再是一个选项。您可以尝试安装 MSYS,而不是使用带有 pacman 包管理器的 MSYS 控制台在 Windows 上安装 gtk dev 库(虽然我还没有尝试过)。在我看来,这非常糟糕。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-04-16
      • 2014-03-23
      • 2012-02-23
      • 2015-12-08
      • 2011-10-01
      • 2020-03-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多