Làm cách nào để thêm dll trong Visual Studio 2010?
Tôi không thể tìm thấy tùy chọn ở đó.
Cảm ơn.Liên kết dll trong Visual Studio
Trả lời
Trên Windows, bạn không liên kết trực tiếp với tệp .dll
trực tiếp – bạn phải sử dụng tệp .lib
đi kèm. Để thực hiện điều đó, hãy truy cập Project -> Properties -> Configuration Properties -> Linker -> Additional Dependencies
và thêm đường dẫn vào .lib của bạn làm dòng tiếp theo.
Bạn cũng phải đảm bảo rằng các tập tin .dll
hoặc là trong thư mục chứa của biến %PATH%
môi trường hoặc bản sao của nó là trong Output Directory
(theo mặc định, đây là Debug\Release
dưới thư mục của dự án của bạn).
Nếu bạn không có quyền truy cập vào tệp .lib
, một cách khác là tải .dll
theo cách thủ công trong thời gian chạy bằng các hàm WINAPI chẳng hạn như LoadLibrary và GetProcAddress.
Bạn không thêm hoặc liên kết trực tiếp với DLL, bạn liên kết với LIB được tạo bởi DLL.
LIB cung cấp biểu tượng và các dữ liệu cần thiết khác để bao gồm một thư viện trong mã của bạn (liên kết tĩnh) hoặc tham chiếu đến DLL (liên kết động).
Để liên kết với LIB, bạn cần phải thêm nó vào danh sách Thuộc tính -> Trình liên kết -> Đầu vào -> Phụ thuộc bổ sung. Tất cả các tệp LIB ở đây sẽ được sử dụng trong liên kết. Bạn cũng có thể sử dụng một pragma như vậy:
#pragma comment(lib, "dll.lib")
Với liên kết tĩnh, mã được bao gồm trong tệp thực thi của bạn và không có phụ thuộc thời gian chạy. Liên kết động yêu cầu một DLL có tên và ký hiệu phù hợp có sẵn trong phạm vi the search path (chỉ có không phải là chỉ đường dẫn hoặc thư mục hệ thống).
Giới thiệu về liên kết tĩnh: Làm thế nào tôi có thể làm cho Visual Studio sao chép dll từ một thư mục nhất định đến đầu ra trên xây dựng (hoặc trên liên kết)? – Marcel
@Marcel Mỗi dự án cung cấp bản dựng trước, sau xây dựng và một loạt các bước khác (kiểm tra trong cài đặt dự án). Bạn có thể sao chép tập tin ở đó hoặc thậm chí chạy toàn bộ tập lệnh (tôi có một tập lệnh được thiết lập để tạo tiêu đề từ các ID sửa đổi và số bản dựng tăng trong khi tạo trước, sau đó sao chép tệp vào cài đặt thử nghiệm trong bài đăng). – ssube
- 1. Visual C++ - Liên kết plugin DLL với EXE?
- 2. Tạo MFC DLL trong Visual Studio
- 3. GCC phong cách yếu liên kết trong Visual Studio?
- 4. DLL tham chiếu không tải trong Visual Studio 2010
- 5. Liên kết tới tất cả Visual Studio $ variables
- 6. Tự động tạo tệp DLL .DEF trong Visual Studio?
- 7. Gỡ lỗi DLL của bên thứ ba trong Visual Studio?
- 8. Sử dụng .dll trong Visual Studio 2010 C++
- 9. Bao gồm DLL tùy chỉnh trong Visual Studio Project Template
- 10. LNK2005 Lỗi liên kết các thư viện openCV tĩnh với Visual Studio và QT Creator
- 11. Visual Studio 11 và xử lý msvcr110.dll
- 12. Visual Studio tải đúng (x86 hoặc x64) dll!
- 13. Visual Studio 2008 Output - Ẩn tải dll và unloads
- 14. Lỗi liên kết trong mẫu Visual Studio 2012 MFC chưa sửa đổi khi liên kết tĩnh MFC
- 15. visual studio 2010 không thể bắt đầu chương trình .dll
- 16. Visual Studio: Các DLL khác nhau cho cấu hình
- 17. Visual Studio 2012 bản địa C++ DLL biên dịch x86
- 18. Microsoft Visual Studio Kiểm tra cụ UITest dll
- 19. Liên kết đến thư viện nhập khẩu Python trong Visual Studio 2005
- 20. Visual Studio 2012 - Cách thêm liên kết tệp vào một tệp trong cùng một dự án
- 21. Visual Studio 2010 - lỗi liên kết trong các chức năng độc lập
- 22. Trình biên dịch không theo các liên kết tượng trưng trong Visual Studio C++
- 23. Ngoại lệ trong msvcrt được liên kết tĩnh bằng Visual Studio 2012
- 24. Thu gọn các tệp liên quan trong Visual Studio
- 25. LoadLibrary không tải được dll với mã lỗi 126, khi xây dựng trong Visual Studio
- 26. Tham chiếu DLL trong Visual C++
- 27. Hàng loạt chuẩn hóa kết thúc dòng trong Visual Studio
- 28. kết thúc dòng Bình thường hoá trong Visual Studio 2010
- 29. GTK # trong Visual Studio 2010
- 30. Làm thế nào để bạn tạo một DLL COM trong Visual Studio 2008?
Tôi cũng đã xem các địa điểm mà họ cũng đề cập đến tệp .h. Chúng ta có cần chúng cho quá trình này không? Tôi nghĩ rằng họ không cần thiết, vì tập tin .lib chứa tất cả thông tin cho dll. – darkgaze
@darkgaze Tôi nghĩ rằng chúng vẫn cần thiết vì các tệp .h thường chứa tất cả các nguyên mẫu, khai báo, hằng số, macro ... –