如何在 Windows 上设置 Gtk 以进行 Haskell 开发?

rub*_*ect 5 gtk haskell msys2

到目前为止,我已经从https://www.haskell.org/platform/windows.html安装了完整版本

最初,pacman 不起作用,所以我确实以管理员身份运行 mingw64.exe

C:\Program Files\Haskell Platform\8.2.1\msys
Run Code Online (Sandbox Code Playgroud)

我已经更新了运行 pacman -Syu 的 msys2 系统并安装了所有 Gtk 库。我正在尝试使用堆栈编译https://github.com/mmsbrggr/hsudoku。我已经解决了丢失的 dll 错误,现在我得到以下信息:

haskell-gi-base-0.20.4:配置

-- 在构建包 haskell-gi-base-0.20.4 时使用:C:\sr\setup-exe-cache\x86_64-windows\Cabal-simple_Z6RU0evB_1.24.2.0_ghc-8.0.2.exe --builddir=.stack -work\dist\ca59d0ab configure --with-ghc=C:\Users\Jacek\AppData\Local\Programs\stack\x86_64-windows\ghc-8.0.2\bin\ghc.EXE --with-ghc-pkg =C:\Users\Jacek\AppData\Local\Programs\stack\x86_64-windows\ghc-8.0.2\bin\ghc-pkg.EXE --user --package-db=clear --package-db=global --package-db=C:\sr\snapshots\7eb65607\pkgdb --libdir=C:\sr\snapshots\7eb65607\lib --bindir=C:\sr\snapshots\7eb65607\bin --datadir=C: \sr\snapshots\7eb65607\share --libexecdir=C:\sr\snapshots\7eb65607\libexec --sysconfdir=C:\sr\snapshots\7eb65607\etc --docdir=C:\sr\snapshots\7eb65607\doc \haskell-gi-base-0.20.4 --htmldir=C:\sr\snapshots\7eb65607\doc\haskell-gi-base-0.20.4 --haddockdir=C:\sr\snapshots\7eb65607\doc\haskell-gi-base-0.20.4 --dependency=base=base-4.9.1.0 --dependency=bytestring=bytestring-0.10.8.1 --dependency=containers=containers-0.5。 7.1 --dependency=text=text-1.2.2.2-9UQZjEJZQFSGMffj1Z5g00 "--extra-include-dirs=C:\Program Files\Haskell Platform\8.2.1\msys\mingw64\include" "--extra-include-dirs =C:\Program Files\Haskell Platform\8.2.1\msys\mingw64\include\GLIB-2.0" --extra-include-dirs=C:\Users\Jacek\AppData\Local\Programs\stack\x86_64-windows \msys2-20150512\mingw64\include --extra-include-dirs=C:\Users\Jacek\Downloads\glib-2.54.1 "--extra-lib-dirs=C:\Program Files\Haskell Platform\8.2. 1\msys\mingw64\bin" "--extra-lib-dirs=C:\Program Files\Haskell Platform\8.2.1\msys\usr\bin" --extra-lib-dirs=C:\Users\Jacek\AppData\Local\Programs\stack\x86_64-windows\msys2-20150512\mingw64\bin --extra-lib-dirs=C:\Users\Jacek\AppData\Local\Programs\stack\x86_64-windows \msys2-20150512\mingw64\lib 进程退出,代码为:ExitFailure 1 日志已写入:C:\Users\Jacek\Documents\ExperimentingHaskell\hsudoku.stack-work\logs\haskell-gi-base-0.20.4。日志

Configuring haskell-gi-base-0.20.4...
Cabal-simple_Z6RU0evB_1.24.2.0_ghc-8.0.2.exe: Missing dependencies on foreign
libraries:
* Missing C libraries: gobject-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.
Run Code Online (Sandbox Code Playgroud)

我能够找到包含,但我担心某些编译器选项被括在引号中。会不会有问题?

在 Windows 上使用 Haskell 和 Gtk 进行开发时,如何正确添加开发文件?我如何告诉 Haskell 编译器在哪里可以找到包含?

extra-include-dirs: ['C:\Program Files\Haskell Platform\8.2.1\msys\mingw64\include', 'C:\Users\Jacek\Downloads\glib-2.54.1','C:\Program Files\Haskell Platform\8.2.1\msys\mingw64\include\GLIB-2.0'] extra-lib-dirs: ['C:\Program Files\Haskell Platform\8.2.1\msys\mingw64\bin', 'C :\Program Files\Haskell Platform\8.2.1\msys\usr\bin']

我的额外包含目录在编译器输出中似乎是乱码。

rub*_*ect 0

毕竟,我已经成功编译并启动了使用 Gtk 库编写的示例 Haskell 程序。

这个要点是所采取步骤的记录。

https://gist.github.com/bigos/62defeec09a06f18ee38daf644af5340