Haskell无法编译正则表达式代码

时间:2013-11-26 11:10:35

标签: regex haskell compiler-errors ghc

当我尝试使用使用Text.Regex的GHC编译程序时,我遇到了以下链接错误。在GHCi中加载时没有错误。

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

如何解决这个问题? 谷歌未能提供帮助。 我的GHC版本为Version 6.12.1, for Haskell 98, stage 2 booted by GHC version 6.12.1

1 个答案:

答案 0 :(得分:2)

在旧版本的GHC中,如果要启用依赖关系跟踪(在这种情况下包括在正确的库中链接),则必须显式传递--make标志。当前版本的GHC默认使用--make模式。因此,对于GHC 6.12.1,您应该使用

ghc --make -o myprog myprog.hs

编译你的程序。