我已经通过vcpgk成功安装了一个C ++ lib,命名为:lmdb:x64-windows
我还通过Cabal install
为Haskell安装了lmdb绑定包尝试测试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 64位,Haskell平台8.0.2。提前谢谢。
答案 0 :(得分:1)
根据评论部分的讨论,我试图告诉GHCi lmdb的dll的位置。我修改%path%env后它可以工作。 在我的例子中,路径是:vcpkg \ installed \ x64-windows \ bin