gpt4 book ai didi

windows - haskell ,GHC,win32,开罗

转载 作者:可可西里 更新时间:2023-11-01 12:42:07 26 4
gpt4 key购买 nike

我在 Windows 上使用 ghci+cairo 时遇到问题。当我尝试加载时,例如像这样的“ghci -package cairo”,它失败并出现以下错误:

Loading package random-1.0.0.2 ... linking ... done.Loading package haskell98 ... linking ... done.Loading package syb-0.1.0.2 ... linking ... done.Loading package base-3.0.3.2 ... linking ... done.Loading package mtl-1.1.0.2 ... linking ... done.: C:\Users\alexeys\AppData\Roaming\cabal\cairo-0.12.0\ghc-6.12.3\HScairo-0.12.0.o: unknown symbol `_cairo_surface_destroy'Loading package cairo-0.12.0 ... linking ... : unable to load package `cairo-0.12.0'

即使是最简单的程序也无法在交互模式下运行,例如 cairo 包中附带的“Text.hs”。然而,使用“ghc --make”编译后,一切都按预期工作,因此这不是“缺少 dll”问题 - 一切就绪。

我使用“filemon”来查看“ghci”加载了什么,在日志中我可以看到“libcairo-2.dll”(并且这个库定义了“_cairo_surface_destroy”符号)被成功找到并加载,所以我不真的不明白 - 它还想要什么?

最佳答案

我怀疑您遇到了我刚刚遇到的许多问题。

我最近尝试在 Windows 上使用 Haskell 和 ZeroMQ 做一些事情。 GHC 在 Windows 上运行,而 ZeroMQ 有一个 MingW32 端口,并且有一个标准的 ZeroMQ Cabal 包,所以我认为这会起作用。

但是:

  • GHC 仅部分支持 Windows 上的动态链接。参见 here .
  • ZeroMQ Cabal 包依赖于 libzmq 的静态版本。
  • Windows 上的 GHC 对其库和 dll 使用 MingW32 约定。
  • ZeroMQ 仅在其 MingW32 端口中构建动态 .dll,而不是 .a 静态存档。

我无法将所有部分组合在一起,因此我的 Windows 盒子上没有基于 Haskell 的 ZeroMQ 编码。

关于windows - haskell ,GHC,win32,开罗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4861647/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com