这个问题在这里已有答案:
Q: How to adjust cabal(stack?) settings so that app/LogAnalysis.hs is treated as main log after all?
这是我如何得到这个错误:
-
用
stack new xyz
创建了新项目 -
将
app/Main.hs
重命名为app/LogAnalysis.hs
-
xyz.cabal
文件中调整了main-is
选项
问题是我输入的数据不正确或者cabal忽略了这个新值 . 这是我得到的错误:
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.
这是 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
有问题的模块是:
module LogAnalysis where
import Log
main :: IO ()
main = print (parseMessage "I 29 la la")
版本:Stack - 版本1.3.2 GHC - 7.15 Cabal - 1.24.0.0
PS如果有任何兴趣我在Haskel课程CIS 194的第二周做 .
1 回答
是否有可能将
module Main where
更改为module LogAnalysis where
?如果你这样做,你会得到这个错误 .Main-is
只是说检查此文件中的Main
模块,但它仍然必须是Main
模块,而不是LogAnalysis
模块 . 这清楚地表明应该运行此文件中的主要功能,而不是某些其他模块中可能存在的某些主要功能 .