&引用;模块[…]在多个文件中定义”;Haskell编译出错
当我使用-Wall选项编译时,出现以下错误&引用;模块[…]在多个文件中定义”;Haskell编译出错,haskell,ghc,Haskell,Ghc,当我使用-Wall选项编译时,出现以下错误 ghc -o -Wall polycake polycake.hs 当我不使用该选项时,我的代码可以很好地编译并按预期运行。这是什么意思 <no location info>: error: module ‘main:Polycake’ is defined in multiple files: polycake.hs
ghc -o -Wall polycake polycake.hs
当我不使用该选项时,我的代码可以很好地编译并按预期运行。这是什么意思
<no location info>: error:
module ‘main:Polycake’ is defined in multiple files: polycake.hs
polycake.hs
:错误:
模块“main:Polycake”在多个文件中定义:Polycake.hs
polycake.hs
选项-o
期望输出文件名作为下一个参数-它不关心该参数是否以破折号开头。因此-o-Wall
将输出文件名设置为-Wall
(实际上不启用警告)
因此,剩下的两个参数是polycake
和polycake.hs
,它们将ghc
解释为输入文件名。当输入文件名不存在且尚未以扩展名.hs
结尾时,ghc
将尝试添加该扩展名。因此,ghc polycake polycake.hs
将尝试编译polycake.hs
两次。这会导致你的错误
PS:输出文件名默认为不带扩展名的输入文件名,因此在这种情况下根本不需要
-o
选项。您的命令行是什么?只是默认,mac os xNo中的bash shell,我的意思是,您使用什么确切的命令来获取该错误?ghc-o-Wall polycake polycake.hs