Tôi là người đam mê Haskell và đã bị kẹt khi biên dịch chương trình Haskell nhỏ của tôi trên Windows. Chương trình của tôi sử dụng gói iconv, lần lượt sử dụng thư viện nước ngoài được viết bằng c/C++. Để làm cho mọi việc tôi có:Liên kết C++ dll với Haskell-Platform trên Windows, xuất ra 'tham chiếu không xác định'
- Run GNU-Iconv thiết lập và thêm vào thư mục của nó 'bin', nơi 'libiconv2.dll' và 'libiconv2.dll' đang nằm, để biến
PATH
. - Trích xuất và sao chép 'LibIconv các tệp nhà phát triển' vào thư mục 'mingw' của vị trí Nền tảng Haskell.
- Sau đó, biên dịch 'cài đặt cabal iconv' và tôi đã cài đặt gói cabal .
Bây giờ, khi tôi cố gắng xây dựng mô-đun của tôi trong Leksah, tôi nhận được tin nhắn từ 'GHC' sau:
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
Với 'GHCi', tôi phải đối mặt với một vấn đề quá:
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'
Tôi nghĩ rằng giải pháp có thể có trong việc thiết lập đúng các tệp tiêu đề c/C++ thành thư mục 'mingw' và đặt biến PATH thành tệp 'lib', nhưng tôi có ít kiến thức về nó, vì vậy mọi trợ giúp sẽ được đánh giá cao .
Đây là một vấn đề cũ với libiconv. Có thể chuỗi này sẽ trợ giúp: http://www.mail-archive.com/[email protected]/msg00858.html –
CẬP NHẬT. Cảm ơn vì đã trả lời. Lặn sâu hơn và tìm câu trả lời: http://www.haskell.org/pipermail/haskell-cafe/2011-February/089234.html và tại đây http://www.progtown.com/topic190618-haskell-iconv -on-win32-iconvopen.html – Rijk
@Ivory - nếu bạn đã tìm thấy câu trả lời, bạn nên đăng nó và chấp nhận nó. – sclv