我的项目结构如下:
~/.../project_name
project_name.cabal
Setup.hs
src/
Main.hs
Data/
...
test/
MainTestSuite
...
我(以及其他人)在project.cabal
:
build-type: Simple
...
executable project_name
main-is: Main.hs
...
hs-source-dirs: src
当我cabal configure
(工作正常)然后cabal build
时,我收到错误消息:
cabal: can't find source for Setup in src, dist/build/autogen
当我将Source.hs
放入src
时,它会起作用,但这对我来说似乎很混乱,我在其他项目中没有看到这一点,其中Source.hs
始终位于项目根目录中。如何让cabal
找到Source.hs
?
顺便说一句:Source.hs
的目的是什么?
答案 0 :(得分:3)
hs-source-dirs: ., src
作为快速解决方案而浮现在脑海中。
我的项目使用的是什么,我自动生成我的cabal文件(因此我认为这是默认设置)。
答案 1 :(得分:2)
问题是由于在项目的Source
文件的other-modules
中意外添加cabal
文件作为依赖项而造成的,这导致了所有问题。