12

F# の llvm バインディングを提供するllvm-fsプロジェクトを使用しようとしています。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 に答える