8

我正在尝试cabal install yesod在我的 Windows 机器上。我有一个相对较新的 Haskell 平台安装。cabal 安装失败,报告我需要 sqlite3 C 库才能安装 Yesod 所依赖的“持久”包。

cabal: Missing dependency on a foreign library:
* Missing C library: sqlite3

所以我去了http://www.sqlite.org/download.html并获取了 C 源代码和预编译的二进制文件。我尝试使用两者,但无济于事:

cabal install persistent --extra-lib-dirs=C:\Path\To\C\Source\Files
cabal install persistent --extra-lib-dirs=C:\Path\To\Binary

在这两种情况下,我得到了相同的结果:它不起作用。:( 我能做些什么来给 cabal 它需要的 C 库?(在这种情况下是 sqlite3)

4

1 回答 1

10

所以,捂脸。我不需要源代码,也不需要 exe。我需要 dll。

在我的问题中提到的网站的“Windows 预编译二进制文件”部分下,我下载并解压缩了 zip 文件sqlite3.defsqlite.dll. 然后我用

cabal install persistent --extra-lib-dirs=C:\Path\To\DllAndDef

安装似乎已成功完成。之后,我做了一个cabal install yesod,似乎也成功完成了。

我想如果我把 dll 放在某个神奇的地方,那么我就不必使用该--extra-lib-dirs=选项了。

于 2011-09-12T16:25:59.970 回答