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.
Si vous donnez à 'ghc' le drapeau' -fforce-recomp ', il se débarrassera de ces fichiers avant d'essayer de compiler. – Michael
OK, merci beaucoup, je ne le savais pas. –