I am a Haskell enthusiast and have got stuck upon compiling my little Haskell program on Windows. My program uses the iconv package, which in turn uses the foreign library written in c/c++. To make things work I have :
PATH
variable. Now, when I try to build my module in Leksah, I get the following message from 'GHC':
Building norms-parser-0.0.1...
Linking dist\build\norms-parser\norms-parser.exe ...
C:\Documents and Settings\kdv\Application Data\cabal\iconv-0.4.1.0\ghc-7.0.4/libHSiconv-0.4.1.0.a(hsiconv.o):hsiconv.c:(.text+0x7): undefined reference to `_imp__libiconv_open'
C:\Documents and Settings\kdv\Application Data\cabal\iconv-0.4.1.0\ghc-7.0.4/libHSiconv-0.4.1.0.a(hsiconv.o):hsiconv.c:(.text+0x17): undefined reference to `_imp__libiconv'
C:\Documents and Settings\kdv\Application Data\cabal\iconv-0.4.1.0\ghc-7.0.4/libHSiconv-0.4.1.0.a(hsiconv.o):hsiconv.c:(.text+0x27): undefined reference to `_imp__libiconv_close'
collect2: ld returned 1 exit status
With 'GHCi',I face an issue too:
ghc.exe: unable to load package `iconv-0.4.1.0'
ghc.exe: C:\Documents and Settings\kdv\Application Data\cabal\iconv-0.4.1.0\ghc- 7.0.4\HSiconv-0.4.1.0.o: unknown symbol `__imp__libiconv_open'
I think the probable solution is in having the right setup of c/c++ header files to 'mingw' folder and setting PATH variables to 'lib' files, but I have little knowledge about it, so any help will be much appreciated.
Installing libiconv is a little tricky on Windows.
Edit iconv.cabal file, so lines with include-dirs
and extra-lib-dirs
will looks like
include-dirs: cbits, "C:\\\\HaskellPlatform\\\\2013.2.0.0\\\\mingw\\\\include" extra-lib-dirs: "C:\\\\HaskellPlatform\\\\2013.2.0.0\\\\mingw\\\\lib"
notice the double dashes in windows path, and edit it to your path of Haskell Platform.
if os(darwin) || os(freebsd)
if os(darwin) || os(freebsd)
, change it to if os(darwin) || os(freebsd) || os(windows)
if os(darwin) || os(freebsd) || os(windows)
cabal install
command from iconv pachage dir
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.