我正在尝试使用llvm-fs项目,该项目为F#提供llvm绑定。我已经使用LLVM-3.1.dll
编译了--enable-shared
文件,它现在与我编译的可执行文件位于同一目录中(我使用Environment.CurrentDirectory
检查)。 llvm-fs中的DllImport
看起来像:
[<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?供参考,here's the exact DLL I'm trying to load。
答案 0 :(得分:19)
此:
“无法找到指定的模块”
可以指向LLVM-3.1.dll
所依赖的某个库,而不是LLVM-3.1.dll
本身。
答案 1 :(得分:11)
当DLL或EXE无法加载时,Depends.exe非常方便 - 它显示完整的EXE / DLL依赖关系树,突出显示无法加载或丢失的内容。