cabal 没有找到 Source.hs

cabal doesn't find Source.hs

我的项目结构如下:

~/.../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 的目的到底是什么?

hs-source-dirs: ., src 是一种快速修复方法。

这就是我的项目使用的,我会自动生成我的 cabal 文件(所以我想这是默认设置)。

问题是由于不小心将 Source 文件添加为项目的 cabal 文件中的 other-modules 的依赖项...导致了所有麻烦。