我正在尝试使用llvm-fs项目,该项目为F#提供了llvm绑定。我已经使用--enable-shared
编译了LLVM-3.1.dll
文件,并将其放置在与我的可执行文件相同的目录中(我使用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?参考这里是我正在尝试加载的确切DLL。
/MT
而不是/MD
进行编译(在调试构建的情况下,请使用/MTd
而不是/MDd
)。 这将使用运行时库的静态链接。https://learn.microsoft.com/en-us/cpp/build/reference/md-mt-ld-use-run-time-library?view=vs-2019 - Nenad