2012-08-30 15 views
10

Estoy tratando de usar el proyecto llvm-fs, que proporciona enlaces de llvm para F #. He compilado el archivo LLVM-3.1.dll con --enable-shared y ahora reside en el mismo directorio que mi ejecutable compilado (lo he comprobado con Environment.CurrentDirectory). El DllImport en llvm-fs sería:DllImport no puede encontrar dll a pesar de que dll está en la misma carpeta que el ejecutable

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

Sin embargo, cuando corro mis él los errores de aplicación con:

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

¿Cómo consigo la DLL que va a cargarse? Para referencia, here's the exact DLL I'm trying to load.

Respuesta

15

Este:

"El módulo especificado no se pudo encontrar"

puede apuntar a alguna biblioteca, que depende de LLVM-3.1.dll, no el LLVM-3.1.dll sí.

10

Cuando DLL o EXE no se pueden cargar, como en este caso Depends.exe es muy útil: muestra el árbol completo de dependencias EXE/DLL, resaltando lo que no se puede cargar o falta.

Cuestiones relacionadas