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

根据windows下的iconv构建Haskell程序

发布时间:2020-12-14 02:22:53 所属栏目:Windows 来源:网络整理
导读:我有一个项目取决于iconv,因为我需要使用cp1251代码页. Here is问题项目的最小执行.我从 here安装了iconv并成功安装了像这样的haskell软件包“iconv” cabal install iconv --extra-include-dirs="C:GnuWin32include" --extra-lib-dirs="C:GnuWin32lib"
我有一个项目取决于iconv,因为我需要使用cp1251代码页. Here is问题项目的最小执行.我从 here安装了iconv并成功安装了像这样的haskell软件包“iconv”

cabal install iconv --extra-include-dirs="C:GnuWin32include" --extra-lib-dirs="C:GnuWin32lib"

软件包iconv已正确安装,但依赖于它的项目在链接时失败,以下是正在进行的操作.

c:iconvsmpl>cabal configure --extra-include-dirs="C:GnuWin32include" --extra-
lib-dirs="C:GnuWin32lib"
Warning: The package list for 'hackage.haskell.org' is 16 days old.
Run 'cabal update' to get the latest list of available packages.
Resolving dependencies...
Configuring iconvsmpl-0.1.0.0...
Warning: The 'license-file' field refers to the file 'LICENSE' which does not
exist.

c:iconvsmpl>cabal build
Building iconvsmpl-0.1.0.0...
Preprocessing executable 'iconvsmpl' for iconvsmpl-0.1.0.0...
[1 of 1] Compiling Main             ( iconvsmpl.hs,distbuildiconvsmpliconvsm
pl-tmpMain.o )
Linking distbuildiconvsmpliconvsmpl.exe ...
C:UsersadminAppDataRoamingcabaliconv-0.4.1.1ghc-7.6.3/libHSiconv-0.4.1.1.
a(hsiconv.o):hsiconv.c:(.text+0x7): undefined reference to `_imp__libiconv_open'

C:UsersadminAppDataRoamingcabaliconv-0.4.1.1ghc-7.6.3/libHSiconv-0.4.1.1.
a(hsiconv.o):hsiconv.c:(.text+0x17): undefined reference to `_imp__libiconv'
C:UsersadminAppDataRoamingcabaliconv-0.4.1.1ghc-7.6.3/libHSiconv-0.4.1.1.
a(hsiconv.o):hsiconv.c:(.text+0x27): undefined reference to `_imp__libiconv_clos
e'
collect2: ld returned 1 exit status

c:iconvsmpl>

为什么要安装和链接iconv,但无法链接iconvsmpl.如何在Windows下构建它?是否有另一种方法可以在Windows下为Haskell使用外部编码?

非常希望具有Windows的可执行文件.打包并在Linux下工作.

Haskell-Platform的版本是2013.2.0.0

解决方法

在Windows上安装时,您需要修改 iconv软件包的.cabal文件.删除条件检查,以便始终应用extra-libraries字段.更新include-dirs和extra-lib-dirs字段,如下所示:

include-dirs:    cbits,"c:GnuWin32include"
extra-lib-dirs:  "c:GnuWin32lib"

(编辑:李大同)

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

    推荐文章
      热点阅读