我有一个具有以下结构的包(好吧,这是大大简化,但......)
app/
src/
Main.hs
data/
data.txt
app.cabal
Paths_app.hs
Setup.hs
Run Code Online (Sandbox Code Playgroud)
在Paths_app.hs我有:
module Paths_app where
getDataFileName :: FilePath -> IO FilePath
getDataFileName = return
Run Code Online (Sandbox Code Playgroud)
在Main.h中我有:
module Main where
import Paths_app
main = do
file <- getDataFileName "data/data.txt"
data <- readFile file
putStrLn $ "Your data is: " ++ data
Run Code Online (Sandbox Code Playgroud)
我的app.cabal文件的相关部分如下所示:
name: app
version: 1.0
build-type: Simple
data-files: data/data.txt
executable foo
build-depends: base, haskell98
main-is: Main.hs
hs-source-dirs: src
Run Code Online (Sandbox Code Playgroud)
这构建正常(使用cabal configure后跟cabal install)但可执行文件抱怨它找不到data.txt文件.我试过更换线路
file <- getDataFileName "data/data.txt"
Run Code Online (Sandbox Code Playgroud)
同
file <- getDataFileName "data.txt"
Run Code Online (Sandbox Code Playgroud)
但同样的事情发生了.有什么明显的东西我做错了吗?
| 归档时间: |
|
| 查看次数: |
2000 次 |
| 最近记录: |