8

cabal install yesodWindowsマシンでしようとしています。Haskell Platform を比較的新しくインストールしました。Cabal のインストールが失敗し、Yesod が依存するパッケージである「永続的」をインストールするには sqlite3 C ライブラリが必要であると報告されました。

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 に答える