F: Wie kann man Cabal (Stack?) -Einstellungen anpassen, so dass app/LogAnalysis.hs
schließlich als Hauptprotokoll behandelt wird?Haskell Stack + Cabal ignoriert "Main-is" -Option und kann keine App erstellen
Hier ist, wie ich mir diesen Fehler habe:
- Erstellt neues Projekt mit
stack new xyz
- Umbenannt
app/Main.hs
-app/LogAnalysis.hs
- Angepasst
main-is
Option inxyz.cabal
Datei
Problem I ist Entweder haben diese Daten irgendwie falsch eingegeben oder Kabale ignoriert das neue va lue. Hier wird Fehler erhalte ich:
Preprocessing executable 'WeekTwo-exe' for WeekTwo-0.1.0.0...
<no location info>: error:
output was redirected with -o, but no output will be generated
because there is no Main module.
hier relevante Eintrag in xyz.cabal
executable WeekTwo-exe
hs-source-dirs: app
main-is: LogAnalysis.hs
ghc-options: -threaded -rtsopts -with-rtsopts=-N
build-depends: base
, WeekTwo
default-language: Haskell2010
Und Modul in Frage:
module LogAnalysis where
import Log
main :: IO()
main = print (parseMessage "I 29 la la")
Versionen: Stack - Version 1.3.2 GHC - 7.15 Cabal - 1.24.0.0
PS, wenn es von Interesse ist, ich bin der 2. Woche von Haskel Kurs CIS 194.
GHC erfordert, dass das Modul, das die Hauptdatei 'main :: IO() 'benötigt,' Main' genannt wird. Module müssen generell einen Dateipfad haben, der dem Modulnamen entspricht. Sie müssen 'LogAnalysis.hs' wieder zu' Main.hs' umbenennen. – sjakobi
Soll 'main-is' das nicht überschreiben? –
Ich denke, 'main-is' dient nur dazu, auf das rechte 'Main'-Modul zu zeigen, wenn es mehrere gibt. – sjakobi