2011-11-21 48 views
6

Tôi đang sử dụng Visual C++ 2008 Express Edition để tạo tài nguyên chỉ DLL. Vấn đề tôi đang gặp phải là chạy ứng dụng sử dụng DLL trên một máy tính khác ngoài kết quả của tôi trong hàm LoadLibrary() không thành công với mã lỗi 14001.LoadLibrary không thành công với mã lỗi 14001

Tìm kiếm internet có vẻ là một sự phụ thuộc vấn đề của máy tính chạy ứng dụng thiếu thư viện của Microsoft Visual C++ 2008 Redistributable Package.

Bước đầu tiên của tôi là cài đặt Gói mới nhất của Microsoft Visual C++ 2008 Redistributable nhưng điều đó không giải quyết được vấn đề.

Ngoài ra tôi đã thay đổi thiết lập dự án của mình để biên dịch DLL với liên kết CRT tĩnh giả định rằng theo cách này tôi sẽ loại bỏ các phụ thuộc.

Các tùy chọn này dường như là cách giải quyết cho những người khác có cùng vấn đề. Bất kỳ ý tưởng nào trong đó hướng nhìn đều được đánh giá cao.

Cảm ơn

========================================= =========================================

Cảm ơn câu trả lời của bạn.

Cả phụ thuộc Walker và trình xem sự kiện chỉ ra một cấu hình song song vấn đề khi tôi thiếu thư viện phiên bản gỡ lỗi của gói VC++ Redistributable.

Tôi đã bất cẩn và đã biên dịch DLL của mình ở chế độ gỡ lỗi, biên dịch lại ở chế độ phát hành đã giải quyết được sự cố.

+0

Tôi nghĩ rằng có một tùy chọn ở đâu đó để thực sự tạo một DLL chỉ tài nguyên; ví dụ. nó sẽ không tạo DllMain và kéo MFC, ATL, CRT, v.v. Thử Linker/Advanced - Không có Entry Point – Luke

Trả lời

3

Tìm trong trình xem sự kiện. Tốt cơ hội sẽ có một lỗi có từ Windows SideBySide giải thích mà lắp ráp là mất tích.
Có khả năng nó sẽ là một thời gian chạy VC CRT mà bạn sẽ phải bó với dll của bạn.

(Redistributable VC có sẵn ở đây: http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=29)

7

cố gắng cô lập thư viện thiếu bởi Dependency Walker:

http://www.dependencywalker.com/

Chỉ cần chạy ứng dụng của bạn trên máy tính thứ hai với công cụ này, nó nên cho bạn biết thư viện nào bị thiếu. Hãy chắc chắn rằng bạn đang cài đặt đúng phiên bản của Visual C++ 2008 Redistributable trọn gói; có hai trong số họ, cho VS 2008 với SP1 và không có bất kỳ SP ...

0

Tôi đã có cùng một vấn đề nhưng với Visual Studio 2013; một bộ gỡ lỗi của DLL yêu cầu một biểu hiện. Trong trường hợp của tôi Microsoft.DTfW.DHL.manifest và dbghelp.dll đã được thêm vào đường dẫn (tôi đã sử dụng thư mục exe).

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