2013-11-26 92 views
1

當我試圖使用GHC編譯使用Text.Regex的程序時,我得到了以下鏈接錯誤。我在GHCi中加載時沒有錯誤。Haskell無法編譯正則表達式代碼

myprog.o: In function `s149_info': 
(.text+0x59b): undefined reference to `regexzmcompatzm0zi92_TextziRegex_mkRegex_closure' 
myprog.o: In function `s14a_info': 
(.text+0x5ec): undefined reference to `regexzmcompatzm0zi92_TextziRegex_splitRegex_closure' 
myprog.o: In function `s14B_info': 
(.text+0xf97): undefined reference to `__stginit_regexzmcompatzm0zi92_TextziRegex_' 
myprog.o: In function `s14B_srt': 
(.data+0xe0): undefined reference to `regexzmcompatzm0zi92_TextziRegex_mkRegex_closure' 
myprog.o: In function `s14B_srt': 
(.data+0xe4): undefined reference to `regexzmcompatzm0zi92_TextziRegex_splitRegex_closure' 
collect2: ld returned 1 exit status 

如何解決此問題? Google未能提供幫助。 我GHC版本是Version 6.12.1, for Haskell 98, stage 2 booted by GHC version 6.12.1

+0

嘗試將GHC更新至7.6.3 – viorior

+0

這不在我手中。儘管我會嘗試告訴管理員。 –

+0

你用來編譯這個程序的命令是什麼? – kosmikus

回答

2

在老版本的GHC,你必須明確地傳遞--make標誌,如果要啓用依賴跟蹤(在這種情況下,包括正確的庫鏈接)。 GHC的當前版本默認使用--make模式。因此,使用GHC 6.12.1,您應該使用

ghc --make -o myprog myprog.hs 

來編譯您的程序。