Để kết hợp các tệp DLL của bên thứ ba vào dự án VS 2008 C ++ của tôi, tôi đã làm như sau (bạn có thể dịch sang 2010, 2012, v.v.) ...
Tôi đặt các tệp tiêu đề trong giải pháp của mình cùng với các tệp tiêu đề khác của tôi, thực hiện các thay đổi đối với mã của tôi để gọi các chức năng của DLL (nếu không thì tại sao chúng tôi lại làm tất cả điều này?). : ^) Sau đó, tôi đã thay đổi bản dựng để liên kết mã LIB với EXE của mình, để sao chép các tệp DLL vào đúng vị trí và để dọn dẹp chúng khi tôi thực hiện 'sạch' - tôi giải thích những thay đổi này bên dưới.
Giả sử bạn có 2 tệp DLL của bên thứ ba, A.DLL và B.DLL và bạn có tệp LIB sơ khai cho mỗi tệp (A.LIB và B.LIB) và tệp tiêu đề (AH và BH).
- Tạo thư mục "lib" trong thư mục giải pháp của bạn, ví dụ: sử dụng Windows Explorer.
- Sao chép các tệp .LIB và .DLL của bên thứ ba của bạn vào thư mục này
(Bạn sẽ phải thực hiện tập hợp thay đổi tiếp theo một lần cho mỗi mục tiêu tạo nguồn mà bạn sử dụng (Gỡ lỗi, Phát hành).)
Làm cho EXE của bạn phụ thuộc vào các tệp LIB
- Đi tới Thuộc tính cấu hình -> Trình liên kết -> Đầu vào -> Phụ thuộc bổ sung và liệt kê các tệp .LIB của bạn ở đó từng tệp một, được phân tách bằng dấu cách :
A.LIB B.LIB
- Đi tới Thuộc tính cấu hình -> Chung -> Thư mục Thư viện Bổ sung, và thêm thư mục "lib" của bạn vào bất kỳ thư mục nào bạn đã có ở đó. Các mục được phân tách bằng dấu chấm phẩy . Ví dụ: nếu bạn đã có
$(SolutionDir)fodder
ở đó, bạn thay đổi nó thành $(SolutionDir)fodder;$(SolutionDir)lib
để thêm "lib".
Buộc các tệp DLL được sao chép vào thư mục đầu ra
- Đi tới Thuộc tính cấu hình -> Tạo sự kiện -> Hậu tạo sự kiện
- Đặt phần sau cho Dòng lệnh (để biết ý nghĩa của công tắc, hãy xem "XCOPY /?" Trong cửa sổ DOS):
XCOPY "$(SolutionDir)"\lib\*.DLL "$(TargetDir)" /D /K /Y
- Bạn có thể đặt một cái gì đó như thế này cho Mô tả:
Copy DLLs to Target Directory
- Bị loại trừ khỏi bản dựng nên được
No
. Bấm vào OK
.
Yêu cầu VS dọn dẹp các tệp DLL khi nó dọn dẹp một thư mục đầu ra:
- Đi tới Thuộc tính cấu hình -> Chung -> Tiện ích mở rộng để Xóa trên Sạch, và nhấp vào "..."; thêm
*.dll
vào cuối danh sách và nhấp vào OK
.