2011-09-12 79 views
8

我想在我的Windows機器上登錄cabal install yesod。我有一個相對全新的Haskell平臺安裝。 cabal安裝失敗,報告說我需要sqlite3 C庫來安裝Yesod依賴的軟件包「persistent」。Cabal安裝需要C庫:Windows

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)

+0

您正在使用哪種版本的GHC和cabal? –

+0

GHC 7.0.3,cabal-install版本0.10.2,Windows 7(32位) –

回答

10

所以,facepalm。我不需要源代碼,我不需要exe。我需要dll 。

下我的問題中提到的網站的部分「適用於Windows預編譯的二進制」,我下載並提取與sqlite3.defsqlite.dll的zip文件。然後我用

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

安裝看似有之後,我做了一個cabal install yesod,其中也似乎已經成功完成。

我想如果我已經把dll放在了某個神奇的地方,那麼我就不必使用--extra-lib-dirs=選項。

+0

您是否發現這個神奇的地方? –