【问题标题】:own symbol not found cabal test找不到自己的符号 cabal 测试
【发布时间】:2014-06-15 09:23:26
【问题描述】:

我正在尝试在 Haskell 中的一个小项目中添加一些测试。 (我在 Mac OS 上使用 cabal 沙箱)

一切都很好(Haskell 代码在cabal repl 中完美编译和运行。 但是当我尝试构建测试时,它编译得很好,但是在链接时崩溃,声称它找不到一些符号 这是我的包裹里的。

它似乎没有尝试与我自己的模块库链接,即使我在 cabal 测试套件配置中添加了依赖项。如果我没有它可以编译,是吗?

那么这是一个(阴谋集团)配置问题还是更严重的问题?

【问题讨论】:

  • 没有实际代码很难说,但我猜你忘了将模块添加到 cabal 文件中。

标签: haskell cabal


【解决方案1】:

我假设您的 Cabal 文件具有 libraryexecutabletest-suite 布局。然后,您必须在 exposed-modulesother-modules 下的 Cabal 文件的 library 部分列出相关模块。在任何情况下,所有包的模块都必须列在 Cabal 文件中。

【讨论】:

  • 您的意思是在 library/exposed-modules 部分?我的模块在那里,以及在 test suite/build-depends 部分中
  • 我已经编辑了我的答案,以明确所有模块都必须列在 Cabal 文件中,而不仅仅是暴露的模块。
  • 好的。我有一个 hidden 子模块,我将它添加到other-modules 部分并且它可以工作。基本上我有一个主模块,它重新导出一个子模块。我认为这个子模块会自动链接,因为主要的依赖于它。
猜你喜欢
  • 1970-01-01
  • 2011-08-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-01-15
相关资源
最近更新 更多