加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

haskell – cabal:如何添加文本文件作为构建依赖项

发布时间:2020-12-14 05:02:10 所属栏目:百科 来源:网络整理
导读:我使用一个简单的文本文件来生成一些使用Template Haskell和runIO的代码. ... curdir - runIO $getCurrentDirectoryaddDependentFile $curdir ++ "/spec.txt"bs - runIO $BS.readFile "spec.txt"... 与ghci一起使用时,一切都很好用.问题是cabal不知道我需要
我使用一个简单的文本文件来生成一些使用Template Haskell和runIO的代码.

...    
curdir <- runIO $getCurrentDirectory
addDependentFile $curdir ++ "/spec.txt"
bs <- runIO $BS.readFile "spec.txt"
...

与ghci一起使用时,一切都很好用.问题是cabal不知道我需要那个文件来构建,当我做cabal构建时我得到了这个.

Exception when trying to run compile-time code:
  spec.txt: openFile: does not exist (No such file or directory)

解决方法

看看标志数据文件:

http://www.haskell.org/cabal/users-guide/developing-packages.html#accessing-data-files-from-package-code

顺便说一句,我推荐EclipseFP用于你的工作.它提供了编辑cabal文件的便捷方式.
这就是我能找到那面旗帜的原因.
它真的减少了琐碎的作品.

http://www.haskell.org/haskellwiki/Haskell_IDE#EclipseFP_plugin_for_Eclipse_IDE

================================================== ===========================

抱歉,误解了.

我认为cabal在这里并不重要. ghc在编译时运行openFile.

这意味着openFile仍然在另一个“运行时”运行以生成代码.

“运行时”结果只是找不到文件

也许目前的目录并不像你想象的那样.

尝试使用setCurrentDirectory或show curdir并在getCurrentDirectory之前检查它

如果它不起作用.请显示完整的测试代码

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读