2009-08-07 35 views
5

Tôi gặp sự cố khi liên kết boost.asio. Nó sử dụng boost.system và các lỗi mối liên kết bắt đầu với:liên kết boost.asio

/boost_1_39_0/boost/system/error_code.hpp:205: tài liệu tham khảo không xác định để tăng :: hệ thống ':: get_system_category()'

có nghĩa là tôi cần liên kết boost.system. Tôi đã xây dựng tăng và bây giờ tôi có một số tập tin lib.

  • boost_system-mgw32-d-1_39.dll và lib
  • libboost_system-mgw34-d-1_39.lib
  • libboost_system-mgw34-mt-d-1_39.lib
  • libboost_system-mgw34- sd-1_39.lib

và một số thứ khác. Làm cách nào để liên kết chúng? Tôi sử dụng cái nào? Tôi có sao chép tất cả chúng lại với nhau không?

Hệ thống của tôi là win32 + mingw + eclipse cdt + qt 4.5.2 + qt tích hợp cho nhật thực. Tôi đã học được rằng tôi cần phải ở một LIBS = phần vào tập tin .pro của tôi.

Bạn có thể đưa ra một số gợi ý của tôi không?

Cảm ơn bạn.

Trả lời

3

Các thư viện được đặt tên dựa trên việc hỗ trợ đa luồng có được bật hay không, liên kết tĩnh và động, chế độ gỡ lỗi và chế độ phát hành và hơn thế nữa. Dưới đây là một số chi tiết:

http://www.boost.org/doc/libs/1_39_0/more/getting_started/unix-variants.html#library-naming

Tôi không chắc chắn về nhật thực như tôi không sử dụng nó, nhưng với gcc (và mingw), bạn cần phải xác định cả một thư mục để tìm các thư viện trong (-L) và tệp để liên kết. Ví dụ: nếu bạn muốn liên kết với phiên bản gỡ lỗi đơn luồng:

-L/đường dẫn/đến/thư viện -lboost_system-mgw34-sd-1_39