Tôi muốn sử dụng thư viện cpp-netlib cho dự án C++. Vì vậy, tôi đã cài đặt thư viện boost với sự trợ giúp của homebrew (OS là Mac OS X 10.8). Sau đó, tôi đã tải xuống cpp-netlib từ trang chủ dự án, sử dụng cmake để tạo Makefile cho g ++ và áp dụng thành công. "thực hiện kiểm tra" đã vượt qua tất cả các thử nghiệm của nó. Sau đó, tôi đã sao chép thư mục include của cpp-netlib vào thư mục boost.Cách liên kết với cpp-netlib
Vì vậy, đây là khi sự cố bắt đầu: Tôi đã cố gắng biên dịch ví dụ đầu tiên của tài liệu http-client nhưng không thể làm cho nó hoạt động. Khi tôi sử dụng
g++ test.cpp -o out -I/usr/local/Cellar/boost/1.53.0/include
-L/usr/local/Cellar/boost/1.53.0/lib
-lboost_system-mt -lboost_filesystem-mt -lboost_thread-mt
tôi nhận được các lỗi này mối liên kết:
Undefined symbols for architecture x86_64:
"boost::network::uri::detail::parse(__gnu_cxx::__normal_iterator<char const*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, __gnu_cxx::__normal_iterator<char const*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, boost::network::uri::detail::uri_parts<__gnu_cxx::__normal_iterator<char const*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >&)", referenced from:
boost::network::uri::uri::parse() in ccs87Dq3.o
"boost::network::http::impl::normal_delegate::normal_delegate(boost::asio::io_service&)", referenced from:
boost::network::http::impl::connection_delegate_factory<boost::network::http::tags::http_async_8bit_udp_resolve>::new_connection_delegate(boost::asio::io_service&, bool, boost::optional<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, boost::optional<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >)in ccs87Dq3.o
ld: symbol(s) not found for architecture x86_64
collect2: ld returned 1 exit status
Tôi thực sự sử dụng chức năng tìm kiếm nhưng tôi không thể tìm thấy bất kỳ giải pháp cho vấn đề của tôi. Tôi đang làm gì sai?
Cảm ơn rất nhiều!
nhờ bạn ví dụ này cuối cùng cũng hoạt động ngay bây giờ! trong trường hợp ai đó có cùng một vấn đề: dưới đây là dòng (sau khi biên soạn các libs bổ sung) cuối cùng đã thực hiện thủ thuật cho tôi: g ++ test.cpp -o out -I/usr/local/Cellar/boost/1.53. 0/include -L/usr/local/Cellar/boost/1.53.0/lib -lboost_system-mt -lboost_filesystem-mt -lboost_thread-mt -lcppnetlib-client-kết nối -lcppnetlib-uri -lcppnetlib-server-parsers -lssl - lcrypto – user1462040