我需要glib for threadscope才能工作。但我无法使用cabal进行安装。我尝试cabal install glib
,但收到以下错误。我甚至尝试下载该库并在本地安装它但得到同样的错误。
我在Windows上使用Cygwin。我运行Cygwin设置以确保我有丢失的库。我能够找到glib,gobject但不是gthread。
Gtk2HsSetup.hs:25:2:
warning: #warning Setup.hs is guessing the version of Cabal. If compilation
of Setup.hs fails use -DCABAL_VERSION_MINOR=x for Cabal version 1.x.0 when buil
ding (prefixed by --ghc-option= when using the 'cabal' command)
[1 of 2] Compiling Gtk2HsSetup ( Gtk2HsSetup.hs, dist\setup\Gtk2HsSetup.o )
[2 of 2] Compiling Main ( Setup.hs, dist\setup\Main.o )
Linking .\dist\setup\setup.exe ...
Configuring glib-0.12.0...
setup.exe: Missing dependencies on foreign libraries:
* Missing C libraries: gobject-2.0, gthread-2.0, glib-2.0, intl, iconv
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.12.0 failed during the configure step. The exception was:
ExitFailure 1
答案 0 :(得分:4)
前段时间我在原始维基文章上写了一篇关于如何安装Gtk2Hs的小型勘误表。这是链接http://progandprog.blogspot.com/2011/04/installing-gtk2hs-012-for-latest.html
我试着在这里描述所有步骤,并希望它能帮到你。
所有这些步骤都是使用最新的Gtk2Hs和Haskell平台安装完成的。没有安装Cygwin和MinGW。
答案 1 :(得分:1)
看起来你需要先安装gtk2hs。
以下是gtk2hs repo中gtk2hs的windows install instructions(所以我认为它们是最新的和最新的)。
特别是,我认为你需要遵循以下几点:
Building on Windows
--------------------
Installation on Windows is nearly as easy as on Unix platforms. However, you
need to download the pre-compiled binary libraries of Gtk+ and all it's
dependent libraries. Point your browser to
http://www.gtk.org/download-windows.html
and download one of the "All-in-one bundles". Note that you do *not* need to
install MinGW nor MSys (but it does not hurt if they are installed on your
system). Install the binaries by unpacking them into a directory without
spaces. Again, this is very important:
*** Do not install the binaries into a directory with embedded spaces. ***
Ensure that the /bin directory is added to your %PATH%. You can ensure that
everything is installed correctly if you can say
pkg-config --cflags gtk+-2.0
and you see some compiler flags that contain the path into which you have
installed the binary bundle. We had reports that the binaries containing version 2.22 do not work and that the version 2.16 gives the following errors when running cabal:
setup.exe: gtk-0.12.0: library-dirs: c:/.../dist/win64/libpng-1.4.3-1/lib doesn't exist or isn't a directory
This problem can be worked around by creating said directory and copying libpng into it. Any further feedback regarding the installation of the binary packages is welcome.
You may now install the cabal packages of Gtk2Hs into any directory you like
(including one that contains embedded spaces). Note that cabal installs the
tools necessary to build into something like
C:\Documents and Settings\%user%\Application Data\cabal\bin
Make sure that this path is also in your %PATH% variable!
ghci and Gtk2Hs on Windows
Due to the way cabal registers packages with ghc, it is quite difficult to
perform the renaming of libraries which is necessary for the binary Windows
bundle to work. As a consequence, the cabal package can do this renaming only
with Cabal 1.8 (shipped with ghc 6.12). If you use ghc 6.10 or earlier, you
need to upgrade your Cabal system to 1.8 if you want to build Gtk2Hs with ghci
support. Note that it is always possible to build executables on Windows.
一旦你完成了这项工作,你应该能够简单地:
cabal install gtk gtk2hs-buildtools glib
答案 2 :(得分:0)
我不确定这个答案,但至少在大多数Linux发行版中都有单独的库和“dev”库包。裸库包只包含库 - 也就是说,只有在构建程序需要它时才需要使用库 - 而“dev”版本包括C头以及构建使用它的程序所需的其他东西。图书馆。 Cygwin有类似的东西吗?如果是这样,你安装了gobject,gthread,glib等的“dev”版本吗?