2011-03-17 65 views
8

Tôi mới sử dụng cửa sổ và studio trực quan. Tôi phải biên dịch một mã được viết bằng C++. Nó sử dụng các thư viện khác nhau. Tôi tìm thấy các tập tin dll cho những thư viện. Tôi có thể biên dịch mã nguồn mà không gặp bất kỳ vấn đề gì nhưng có các vấn đề liên kết. Tôi không biết làm thế nào để liên kết các tập tin dll. Tôi hiểu rằng tôi cần các tập tin .lib cho điều đó. Nhưng một số thư viện yêu cầu không có bất kỳ tệp lib nào được cung cấp. Chỉ có các tệp dll và các tệp khác. Làm thế nào tôi có thể tạo ra các tập tin lib yêu cầu bằng cách sử dụng Visual studio 2010 cuối cùng? Tôi không thể tìm thấy một chương trình gọi là lib.exe. Cảm ơn bạn.lib.exe, Visual Studio, tạo các tệp .lib từ tệp dll và def

Trả lời

14

Bạn thực sự cần lib.exe để chuyển tệp .def thành tệp .lib mà trình liên kết cần. Nó được lưu trữ trong thư mục vc \ bin của thư mục visual studio, C: \ Program Files \ Microsoft Visual Studio 10.0 \ VC \ bin \ lib.exe theo mặc định. Cách dễ nhất là sử dụng "Visual Studio Command Prompt", bạn sẽ tìm thấy nó trong menu Start, Microsoft Visual Studio 2010, Visual Studio Tools.

Tiếp theo, chạy lib.exe với tùy chọn /def:foo.def để tạo .lib. Làm theo hướng dẫn của nhà cung cấp, nếu được cung cấp. Và đừng ngần ngại liên hệ với họ để được hỗ trợ.

2

Điều này đòi hỏi rất nhiều công việc, và thường dễ dàng hơn để tìm nguồn và/hoặc libs cho DLL của bạn, vì bạn nên biên dịch cả thư viện và chương trình với cùng trình biên dịch (Làm cho triển khai dễ dàng hơn, vì vậy bạn không phụ thuộc vào nhiều lần rc).

Bạn có thể sử dụng hướng dẫn này để tạo ra các tập tin lib: http://support.microsoft.com/kb/131313

Nó là một quá trình đòi hỏi thời gian, cũng như rất nhiều gỡ lỗi (Tùy thuộc vào kích thước của các dll cũng như sự phức tạp của giao diện của dll)

Tùy thuộc vào nền tảng của bạn, vị trí thường là:

  • Windows 7 32-bit với 32-bit VS2010:

    C: \ Program Files \ Microsoft Visual Studio 10.0 \ VC \ bin \

  • Windows 7 64-bit với 64-bit VS2010:

    C: \ Program Files \ Microsoft Visual Studio 10.0 \ VC \ bin '

  • Windows 7 64-bit với 32-bit VS2010:

    C: \ Program Files (x86) \ Microsoft Visual Studio 10.0 \ VC \ bin \

Hồ wever, nếu bạn bắt đầu Visual Studio Command Prompt, nó phải ở trong đường dẫn của bạn. (Xem trong Công cụ Visual Studio trên menu bắt đầu của bạn)

2

Nếu bạn truy cập thuộc tính dự án cho DLL và kiểm tra Trình liên kết -> Nâng cao, có mục nhập 'Thư viện nhập'. Bạn có thể phải thiết lập để tạo ra một tập tin lib trong khi xây dựng các DLL hoặc nếu nó đã được thiết lập nó sẽ chỉ cho bạn tại vị trí của tập tin lib.

Điều đó nói rằng nếu bạn xây dựng toàn bộ dự án bằng cách sử dụng Visual Studio 2010, việc thêm các thư viện phụ thuộc vào phần Tài nguyên chung của thuộc tính chung sẽ tự động kích hoạt các câu lệnh liên kết cần thiết.

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