2012-10-10 25 views
10

Tôi đã xem một đoạn mã sử dụng nhận xét #pragma (lib, "tên thư viện").C++ Visual Studio: liên kết bằng cách sử dụng nhận xét pragma

Tại sao loại sử dụng này trái ngược với việc chỉ liên kết thư viện từ trình đơn thuộc tính? Trong trường hợp này, việc sử dụng này được gọi là gì? Tôi đang sử dụng C++ Visual Studio 2010.

Thật tuyệt khi thấy ví dụ yêu cầu loại sử dụng này.

Trả lời

18

Trình biên tập thư viện có thể đặt lệnh #pragma comment(lib, ...) trong tệp tiêu đề công khai (.h). Trong trường hợp này, máy khách không cần thêm thư viện này vào danh sách phụ thuộc trình liên kết. Bằng cách bao gồm một h-file trong chương trình, máy khách sẽ tự động được liên kết với thư viện cần thiết.

+0

tôi có cần thêm cả thư viện vào dự án sutudio visusal trong trường hợp này không? – user1612986

+4

Số nhưng thư viện phải nằm trong đường dẫn tìm kiếm thư viện có sẵn – WhozCraig

+0

Cảm ơn Peter. Điều đó rất hữu ích. –

13

cổ điển chẳng hạn - liên kết chống lại các phiên bản khác nhau của thư viện:.

#if CURRENT_VERSION >= 10 
    #pragma comment(lib, "thirdPartyLibV2.0.lib") 
#else //version < 10 
    #pragma comment(lib, "thirdPartyLibV1.0.lib") 
#endif 
2

Nó chứa trong ý nghĩa rằng tất cả phải mất là bao gồm cả các tập tin tiêu đề cho thư viện liên quan đến tự động kéo trong Bạn thậm chí có thể làm #ifdef..#endif phép thuật có điều kiện mang đến thư viện phù hợp dựa trên môi trường của bạn.

Không phải ai cũng đang sử dụng dự án MSVC của bạn khi bắt đầu dự án mới từ đầu, chỉ đơn giản là có thể #include và hoạt động là dấu hiệu của một thư viện được viết tốt.

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