Попробуйте так: ghc -package iconv --make en.hs
T>скачал и установил iconv-1.19 в c:\iconv. T>собрал package iconv-0.4.0.2 таким образом (на всякий случай добавив пути в INCLUDE и LIB): T>
C:\iconv\lib>ls -la
total 1021
drwxrwxrwx 1 user group 0 Jul 26 11:36 .
drwxrwxrwx 1 user group 0 Jul 26 10:45 ..
-rw-rw-rw- 1 user group 187 Oct 14 2004 charset.alias
-rw-rw-rw- 1 user group 1024 Oct 14 2004 libcharset-bcc.lib
-rw-rw-rw- 1 user group 3440 Oct 2 2004 libcharset.a
-rw-rw-rw- 1 user group 3416 Oct 14 2004 libcharset.dll.a
-rw-rw-rw- 1 user group 799 Jul 26 10:45 libcharset.la
-rw-rw-rw- 1 user group 811 Oct 10 2004 libcharset.la.orig
-rw-rw-rw- 1 user group 2728 Oct 14 2004 libcharset.lib
-rw-rw-rw- 1 user group 284 Oct 14 2004 libcharset1.def
-rw-rw-rw- 1 user group 1536 Oct 14 2004 libiconv-bcc.lib
-rw-rw-rw- 1 user group 1009570 Oct 2 2004 libiconv.a
-rw-rw-rw- 1 user group 8230 Oct 14 2004 libiconv.dll.a
-rw-rw-rw- 1 user group 791 Jul 26 10:45 libiconv.la
-rw-rw-rw- 1 user group 803 Oct 10 2004 libiconv.la.orig
-rw-rw-rw- 1 user group 4216 Oct 14 2004 libiconv.lib
-rw-rw-rw- 1 user group 474 Oct 14 2004 libiconv2.def
C:\iconv\include>ls -la
total 10
drwxrwxrwx 1 user group 0 Jul 26 10:45 .
drwxrwxrwx 1 user group 0 Jul 26 10:45 ..
-rw-rw-rw- 1 user group 5309 Oct 2 2004 iconv.h
-rw-rw-rw- 1 user group 1838 Oct 2 2004 libcharset.h
-rw-rw-rw- 1 user group 1682 Oct 2 2004 localcharset.h
C:\iconv\bin>ls -la
total 1085
drwxrwxrwx 1 user group 0 Jul 26 10:45 .
drwxrwxrwx 1 user group 0 Jul 26 10:45 ..
-rwxrwxrwx 1 user group 16896 Oct 14 2004 iconv.exe
-rw-rw-rw- 1 user group 11776 Oct 14 2004 libcharset1.dll
-rw-rw-rw- 1 user group 978432 Oct 14 2004 libiconv2.dll
-rw-rw-rw- 1 user group 101888 Oct 9 2004 libintl3.dll
Здравствуйте, trop, Вы писали:
T>поднял ubuntu на vmware, там всё работает
Ладно, уговорил. Нужно просто посмотреть iconv.cabal.
Там написано:
if os(darwin) || os(freebsd)
-- on many systems the iconv api is part of the standard C library
-- but on some others we have to link to an external libiconv:
extra-libraries: iconv
Винда — не darwin и не freebsd и iconv api на ней не есть "part of the standard C library". Дальше объяснять?
Здравствуйте, awson, Вы писали: A>Здравствуйте, trop, Вы писали: T>>получается, что на винде даже установленный libiconv не способствует A>Ну вы даете. Просто уберите if и оставьте
extra-libraries: iconv
.
так на винде вручную ставил, без cabal,
собралось и поставилось без ошибок, но код с iconv не линкуется.
как вылечить так и не понял.