Установка Cabal требует библиотеки C: Windows

Я пытаюсь cabal install yesod на моей машине Windows. У меня относительно свежая установка платформы Haskell. Не удалось установить cabal, сообщив, что мне нужна библиотека sqlite3 C для установки "persistent", пакета, на который опирается 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 в этом случае)

1 ответ

Решение

Итак, маска для лица. Мне не нужен был источник, мне не нужен был exe. Мне нужна была DLL.

В разделе "Предварительно скомпилированные двоичные файлы для Windows" на веб-сайте, упомянутом в моем вопросе, я скачал и распаковал zip-файл: sqlite3.def а также sqlite.dll, Тогда я использовал

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

Похоже, что установка успешно завершена. После этого я сделал cabal install yesod, который также, кажется, успешно завершен.

Я полагаю, если бы я поместил dll где-то волшебным, то мне не пришлось бы использовать --extra-lib-dirs= вариант.

Другие вопросы по тегам