2016-07-22 3 views
0

alors que je peux utiliser plusieurs scripts de tortue dans le même répertoire (j'ai par exemple pretty.hs et srv.hs interprété), j'ai appris que je peux avoir seulement avoir un des les compilés par exemple. aveccompiler plus d'un script de tortue dans le même répertoire

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

comme cela construit implicitement main.o et Main.hi aussi bien, et et SRV et jolie aurait besoin de deux fichiers d'objets différents, évidemment.

Quelle est l'histoire de la tortue et le module principal de toute façon: ne serait-il été plus agréable, si l'on pouvait utiliser (et donc choisir) un nom de module, comme si

Module Whatever 
import Turtle 

J'ai essayé de compiler les fichiers .o séparemment, mais pas de chance:

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

aucune plainte à ce jour, mais:

$ 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' 

et ainsi de suite ...

Est-il néanmoins possible de compiler deux scripts tortue différents dans le même répertoire? Comment?

Merci.

Répondre

1

Ah, pour répondre à ma propre question: j'ai vu que je viens de supprimer ces fichiers main.o/Main.hi après la compilation (d'avoir un autre créé à nouveau alors), comme ceci:

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 

Désolé pour le bruit

+0

Si vous donnez à 'ghc' le drapeau' -fforce-recomp ', il se débarrassera de ces fichiers avant d'essayer de compiler. – Michael

+0

OK, merci beaucoup, je ne le savais pas. –