在同一目录中编译多个turtle脚本

时间:2016-07-22 03:27:48

标签: haskell-turtle

虽然我可以在同一目录中使用多个乌龟脚本 (例如,解释了pretty.hs和srv.hs),我知道我可以拥有 只有其中一个编译,例如。与

ghc -no-user-package-db -package-db .cabal-sandbox/*-packages.conf.d -O2 -threaded -outputdir=. -o srv srv.hs

因为这隐式地构建Main.o和Main.hi,并且srv和漂亮的 显然需要两个不同的目标文件。

无论如何,Turtle和主要模块的故事是什么:不会 如果可以使用(并因此选择)模块名称,那就更好了

Module Whatever
import Turtle

我试图分别编译.o文件,但没有运气:

$ ghc -no-user-package-db -package-db .cabal-sandbox/*-packages.conf.d -O2 -threaded -outputdir=. -c -o MainPretty.o pretty.hs
到目前为止没有任何投诉,但随后:

$ ghc -no-user-package-db -package-db .cabal-sandbox/*-packages.conf.d -O2 -threaded -outputdir=. -o pretty MainPretty.o

MainPretty.o: In function `rdyO_info':
(.text+0x40e): undefined reference to `transzuGZZTjP9K5WFq01xC9BAGQpF_ControlziMonadziIOziClass_zdfMonadIOIO_closure'
MainPretty.o: In function `rdyQ_info':
(.text+0x4d6): undefined reference to `transzuGZZTjP9K5WFq01xC9BAGQpF_ControlziMonadziIOziClass_zdfMonadIOIO_closure'
MainPretty.o: In function `cfxy_info':
(.text+0x712): undefined reference to `optpazuFpNJ7fLofFNEy3rK4ZZnBoD_OptionsziApplicativeziTypes_AltP_con_info'
MainPretty.o: In function `cfxy_info':
(.text+0x72e): undefined reference to `systezu0e3pMPmZZzzix21iFp2U03Lc_FilesystemziPathziRules_posixFromText_closure'
MainPretty.o: In function `cfyR_info':
(.text+0x92a): undefined reference to `optpazuFpNJ7fLofFNEy3rK4ZZnBoD_OptionsziApplicativeziTypes_AltP_con_info'

依旧......

是否可以在同一个目录中编译两个不同的海龟脚本?如何?

感谢。

1 个答案:

答案 0 :(得分:1)

啊,回答我自己的问题:我看到我只需要在编译后删除这些Main.o / Main.hi文件(然后重新创建不同的文件), 像这样:

ghc -no-user-package-db -package-db .cabal-sandbox/*-packages.conf.d -O2 -threaded -outputdir=. -o pretty pretty.hs
rm -f Main.o Main.hi

对不起噪音