当我尝试使用使用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
答案 0 :(得分:2)
在旧版本的GHC中,如果要启用依赖关系跟踪(在这种情况下包括在正确的库中链接),则必须显式传递--make
标志。当前版本的GHC默认使用--make
模式。因此,对于GHC 6.12.1,您应该使用
ghc --make -o myprog myprog.hs
编译你的程序。