2012-08-30 49 views
10

Tôi đang cố gắng sử dụng dự án llvm-fs, cung cấp các liên kết llvm cho F #. Tôi đã biên soạn các tập tin LLVM-3.1.dll với --enable-shared và nó bây giờ nằm ​​trong cùng một thư mục như thực thi biên dịch của tôi (tôi đã kiểm tra với Environment.CurrentDirectory). Các DllImport trong llvm-fs trông giống như:DllImport không thể tìm thấy dll ngay cả khi dll nằm trong cùng thư mục với tập tin thực thi

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

Tuy nhiên, khi tôi chạy nó lỗi ứng dụng của tôi với:

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

Làm thế nào để tôi có được DLL được nạp? Để tham khảo, here's the exact DLL I'm trying to load.

Trả lời

15

này:

"Các module quy định không thể tìm được"

có thể trỏ đến một số thư viện, mà LLVM-3.1.dll phụ thuộc từ, không phải là LLVM-3.1.dll riêng của mình.

10

Khi DLL hoặc EXE không tải như trong trường hợp này Depends.exe rất tiện dụng - nó hiển thị cây phụ thuộc hoàn chỉnh EXE/DLL, làm nổi bật nội dung không thể tải hoặc thiếu.

Các vấn đề liên quan