haskell — GHCi не может загрузить .dll lib (C ++ lib) в Windows

Я успешно установил C ++ lib через vcpgk с именем: lmdb:x64-windows

Я также установил lmdb обязательный пакет для установки Haskell от Cabal

И при попытке протестировать пакет lmdb:

module Persistence where

import Database.LMDB.Raw

GHCi скомпилировал и загрузил его:

[1 of 1] Compiling Persistence      ( Persistence.hs, interpreted )
Ok, modules loaded: Persistence.

Но он выдает ошибку, когда я пытаюсь вызвать какие-либо функции в lmdb Raw lib:

*Persistence> lmdb_version
ghc.exe: addDLL: lmdb.dll (Win32 error 126): The specified module could not
be found.
ghc.exe: Could not load `lmdb.dll'. Reason: addDLL: could not load DLL
ghc.exe: C:\Users\thanhdo\AppData\Roaming\cabal\x86_64-windows-ghc-
8.0.2\lmdb-0.2.5-1uQhV16mebP51rtMgitOcY\HSlmdb-0.2.5-
1uQhV16mebP51rtMgitOcY.o: unknown symbol `mdb_dbi_close'
ghc.exe: unable to load package `lmdb-0.2.5'

Я искал вокруг и пробовал несколько подходов, но все еще не могу решить эту ошибку. Я использую Windows 7 64bit, платформа Haskell 8.0.2. Заранее спасибо.

2

Решение

Согласно обсуждению в разделе комментариев, я пытался сообщить GHCi, где находится dll lmdb. Это работает после того, как я изменяю% path% env.
В моем случае путь был: vcpkg \ instal \ x64-windows \ bin

1

Другие решения

Других решений пока нет …