GHCi 无法在 Windows 上加载.dll lib(C++ lib)



我已经通过vcpgk成功安装了一个C++库,命名为:lmdb:x64-windows

我还通过阴谋集团为 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:UsersthanhdoAppDataRoamingcabalx86_64-windows-ghc-
8.0.2lmdb-0.2.5-1uQhV16mebP51rtMgitOcYHSlmdb-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。提前谢谢。

根据评论部分的讨论,我试图告诉 GHCi lmdb 的 dll 的位置。它在我修改 %路径% 环境后工作。在我的例子中,路径是:vcpkg\已安装\x64-windows\bin

最新更新