加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

windows – Haskell,GHC,win32,cairo

发布时间:2020-12-14 04:31:36 所属栏目:Windows 来源:网络整理
导读:我在 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 ... linkin
我在 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:UsersalexeysAppDataRoamingcabalcairo-0.12.0ghc-6.12.3HScairo-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’符号)被成功地找到并加载,所以我真的不明白 – 它还需要什么?

我怀疑你遇到了很多我刚刚做过的问题.

我最近在Haskell和ZeroMQ在Windows上做了一些事情. GHC在Windows上运行,ZeroMQ有一个MingW32端口,并且有一个标准的ZeroMQ Cabal包,所以我认为这将工作.

然而:

> GHC仅部分支持Windows上的动态链接.见here.
> ZeroMQ Cabal软件包取决于libzmq的静态版本.
> GHC在Windows上使用MingW32约定其库和dll.
> ZeroMQ只在他们的MingW32端口中构建一个动态的.dll,而不是.a静态存档.

我无法使所有的片段合在一起,所以在我的Windows框上没有基于Haskell的ZeroMQ编码.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读