我正在尝试在我的Windows计算机上cabal install yesod
。我有一个相对全新的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
在这两种情况下,我得到了相同的结果:它没有用。 :(我该怎么做才能为它提供所需的C库?(在这种情况下为sqlite3)
答案 0 :(得分:10)
所以,facepalm。我不需要源代码,我不需要exe。 我需要dll。
在我的问题中提到的网站的“预编译的Windows二进制文件”部分下,我使用sqlite3.def
和sqlite.dll
下载并解压缩了zip文件。然后我用了
cabal install persistent --extra-lib-dirs=C:\Path\To\DllAndDef
安装似乎已成功完成。之后,我做了一个cabal install yesod
,它似乎也已成功完成。
我想如果我把dll放在某个神奇的地方,那么我就不必使用--extra-lib-dirs=
选项了。