Я успешно установил 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. Заранее спасибо.
Согласно обсуждению в разделе комментариев, я пытался сообщить GHCi, где находится dll lmdb. Это работает после того, как я изменяю% path% env.
В моем случае путь был: vcpkg \ instal \ x64-windows \ bin
Других решений пока нет …