12

我正在尝试使用llvm-fs项目,该项目为 F# 提供 llvm 绑定。我已经编译了该LLVM-3.1.dll文件,--enable-shared它现在与我编译的可执行文件位于同一目录中(我检查了Environment.CurrentDirectory)。在DllImportllvm-fs 看起来像:

[<DllImport(
    "LLVM-3.1.dll",
    EntryPoint="LLVMModuleCreateWithName",
    CallingConvention=CallingConvention.Cdecl,
    CharSet=CharSet.Ansi)>]
extern void* (* LLVMModuleRef *) moduleCreateWithNameNative(string ModuleID)

然而,当我运行我的应用程序时,它会出错:

Unable to load DLL 'LLVM-3.1.dll': The specified module could not be found.
(Exception from HRESULT: 0x8007007E)

如何获取要加载的 DLL?作为参考,这是我尝试加载的确切 DLL

4

2 回答 2

21

这:

“指定的模块无法找到”

可以指向某个库,该库LLVM-3.1.dll依赖于,而不是LLVM-3.1.dll自身。

于 2012-08-30T07:41:25.000 回答
12

在这种情况下,当 DLL 或 EXE 无法加载时,Depends.exe非常方便 - 它显示完整的 EXE/DLL 依赖关系树,突出显示无法加载或丢失的内容。

于 2012-08-30T17:03:20.130 回答