2013-04-01 43 views
7

Xin chào, tôi đang sử dụng bộ lọc tăng cường và zlib để nén và giải nén dữ liệu. trên hướng dẫn của trang tăng, nó đang nói nếu tệp .cpp phụ thuộc vào một thư viện bên ngoài, bạn sẽ phải xây dựng nó từ nguồn hoặc liên kết đến một nhị phân dựng sẵn.cách liên kết thư viện zlib

Tôi đã sử dụng cổng mac để cài đặt tăng và zlib. Tôi bao gồm libarary tăng như -I/opt/local/include

mã của tôi:

#include <fstream> 
#include <iostream> 
#include <boost/iostreams/filtering_streambuf.hpp> 
#include <boost/iostreams/copy.hpp> 
#include <boost/iostreams/filter/zlib.hpp> 

int main() 
{ 
    using namespace std; 

    ifstream file("hello.z", ios_base::in | ios_base::binary); 
    filtering_streambuf<input> in; 
    in.push(zlib_decompressor()); 
    in.push(file); 
    boost::iostreams::copy(in, cout); 
} 

Tôi tự hỏi làm thế nào để liên kết các zlib libarary bên ngoài được xây dựng trước? nó đang cho tôi vấn đề biên dịch này:

mpic++ -o local ods_v2.0.cpp -I/opt/local/include 
Undefined symbols for architecture x86_64: 
    "boost::iostreams::zlib_error::check(int)", referenced from: 
     long boost::iostreams::symmetric_filter<boost::iostreams::detail::zlib_decompressor_impl<std::allocator<char> >, std::allocator<char> >::write<boost::iostreams::detail::linked_streambuf<char, std::char_traits<char> > >(boost::iostreams::detail::linked_streambuf<char, std::char_traits<char> >&, char const*, long) in ods_v2-DjDcji.o 
     void boost::iostreams::symmetric_filter<boost::iostreams::detail::zlib_decompressor_impl<std::allocator<char> >, std::allocator<char> >::close<boost::iostreams::detail::linked_streambuf<char, std::char_traits<char> > >(boost::iostreams::detail::linked_streambuf<char, std::char_traits<char> >&, std::_Ios_Openmode) in ods_v2-DjDcji.o 
     void boost::iostreams::symmetric_filter<boost::iostreams::detail::zlib_decompressor_impl<std::allocator<char> >, std::allocator<char> >::close<boost::iostreams::non_blocking_adapter<boost::iostreams::detail::linked_streambuf<char, std::char_traits<char> > > >(boost::iostreams::non_blocking_adapter<boost::iostreams::detail::linked_streambuf<char, std::char_traits<char> > >&, std::_Ios_Openmode) in ods_v2-DjDcji.o 
     long boost::iostreams::symmetric_filter<boost::iostreams::detail::zlib_decompressor_impl<std::allocator<char> >, std::allocator<char> >::read<boost::iostreams::basic_gzip_decompressor<std::allocator<char> >::peekable_source<boost::iostreams::detail::linked_streambuf<char, std::char_traits<char> > > >(boost::iostreams::basic_gzip_decompressor<std::allocator<char> >::peekable_source<boost::iostreams::detail::linked_streambuf<char, std::char_traits<char> > >&, char*, long) in ods_v2-DjDcji.o 
     void boost::iostreams::symmetric_filter<boost::iostreams::detail::zlib_decompressor_impl<std::allocator<char> >, std::allocator<char> >::close<boost::iostreams::basic_gzip_decompressor<std::allocator<char> >::peekable_source<boost::iostreams::detail::linked_streambuf<char, std::char_traits<char> > > >(boost::iostreams::basic_gzip_decompressor<std::allocator<char> >::peekable_source<boost::iostreams::detail::linked_streambuf<char, std::char_traits<char> > >&, std::_Ios_Openmode) in ods_v2-DjDcji.o 
    "boost::iostreams::zlib::stream_end", referenced from: 
     long boost::iostreams::symmetric_filter<boost::iostreams::detail::zlib_decompressor_impl<std::allocator<char> >, std::allocator<char> >::write<boost::iostreams::detail::linked_streambuf<char, std::char_traits<char> > >(boost::iostreams::detail::linked_streambuf<char, std::char_traits<char> >&, char const*, long) in ods_v2-DjDcji.o 
     void boost::iostreams::symmetric_filter<boost::iostreams::detail::zlib_decompressor_impl<std::allocator<char> >, std::allocator<char> >::close<boost::iostreams::detail::linked_streambuf<char, std::char_traits<char> > >(boost::iostreams::detail::linked_streambuf<char, std::char_traits<char> >&, std::_Ios_Openmode) in ods_v2-DjDcji.o 
     void boost::iostreams::symmetric_filter<boost::iostreams::detail::zlib_decompressor_impl<std::allocator<char> >, std::allocator<char> >::close<boost::iostreams::non_blocking_adapter<boost::iostreams::detail::linked_streambuf<char, std::char_traits<char> > > >(boost::iostreams::non_blocking_adapter<boost::iostreams::detail::linked_streambuf<char, std::char_traits<char> > >&, std::_Ios_Openmode) in ods_v2-DjDcji.o 
     long boost::iostreams::symmetric_filter<boost::iostreams::detail::zlib_decompressor_impl<std::allocator<char> >, std::allocator<char> >::read<boost::iostreams::basic_gzip_decompressor<std::allocator<char> >::peekable_source<boost::iostreams::detail::linked_streambuf<char, std::char_traits<char> > > >(boost::iostreams::basic_gzip_decompressor<std::allocator<char> >::peekable_source<boost::iostreams::detail::linked_streambuf<char, std::char_traits<char> > >&, char*, long) in ods_v2-DjDcji.o 
     void boost::iostreams::symmetric_filter<boost::iostreams::detail::zlib_decompressor_impl<std::allocator<char> >, std::allocator<char> >::close<boost::iostreams::basic_gzip_decompressor<std::allocator<char> >::peekable_source<boost::iostreams::detail::linked_streambuf<char, std::char_traits<char> > > >(boost::iostreams::basic_gzip_decompressor<std::allocator<char> >::peekable_source<boost::iostreams::detail::linked_streambuf<char, std::char_traits<char> > >&, std::_Ios_Openmode) in ods_v2-DjDcji.o 
    "boost::iostreams::zlib::sync_flush", referenced from: 
     long boost::iostreams::symmetric_filter<boost::iostreams::detail::zlib_decompressor_impl<std::allocator<char> >, std::allocator<char> >::write<boost::iostreams::detail::linked_streambuf<char, std::char_traits<char> > >(boost::iostreams::detail::linked_streambuf<char, std::char_traits<char> >&, char const*, long) in ods_v2-DjDcji.o 
     void boost::iostreams::symmetric_filter<boost::iostreams::detail::zlib_decompressor_impl<std::allocator<char> >, std::allocator<char> >::close<boost::iostreams::detail::linked_streambuf<char, std::char_traits<char> > >(boost::iostreams::detail::linked_streambuf<char, std::char_traits<char> >&, std::_Ios_Openmode) in ods_v2-DjDcji.o 
     void boost::iostreams::symmetric_filter<boost::iostreams::detail::zlib_decompressor_impl<std::allocator<char> >, std::allocator<char> >::close<boost::iostreams::non_blocking_adapter<boost::iostreams::detail::linked_streambuf<char, std::char_traits<char> > > >(boost::iostreams::non_blocking_adapter<boost::iostreams::detail::linked_streambuf<char, std::char_traits<char> > >&, std::_Ios_Openmode) in ods_v2-DjDcji.o 
     long boost::iostreams::symmetric_filter<boost::iostreams::detail::zlib_decompressor_impl<std::allocator<char> >, std::allocator<char> >::read<boost::iostreams::basic_gzip_decompressor<std::allocator<char> >::peekable_source<boost::iostreams::detail::linked_streambuf<char, std::char_traits<char> > > >(boost::iostreams::basic_gzip_decompressor<std::allocator<char> >::peekable_source<boost::iostreams::detail::linked_streambuf<char, std::char_traits<char> > >&, char*, long) in ods_v2-DjDcji.o 
     void boost::iostreams::symmetric_filter<boost::iostreams::detail::zlib_decompressor_impl<std::allocator<char> >, std::allocator<char> >::close<boost::iostreams::basic_gzip_decompressor<std::allocator<char> >::peekable_source<boost::iostreams::detail::linked_streambuf<char, std::char_traits<char> > > >(boost::iostreams::basic_gzip_decompressor<std::allocator<char> >::peekable_source<boost::iostreams::detail::linked_streambuf<char, std::char_traits<char> > >&, std::_Ios_Openmode) in ods_v2-DjDcji.o 
    "boost::iostreams::zlib::default_strategy", referenced from: 
     boost::iostreams::basic_gzip_decompressor<std::allocator<char> >::make_params(int) in ods_v2-DjDcji.o 
    "boost::iostreams::zlib::default_compression", referenced from: 
     boost::iostreams::basic_gzip_decompressor<std::allocator<char> >::make_params(int) in ods_v2-DjDcji.o 
    "boost::iostreams::zlib::okay", referenced from: 
     long boost::iostreams::basic_gzip_decompressor<std::allocator<char> >::write<boost::iostreams::detail::linked_streambuf<char, std::char_traits<char> > >(boost::iostreams::detail::linked_streambuf<char, std::char_traits<char> >&, char const*, long) in ods_v2-DjDcji.o 
     void boost::iostreams::basic_gzip_decompressor<std::allocator<char> >::close<boost::iostreams::non_blocking_adapter<boost::iostreams::detail::linked_streambuf<char, std::char_traits<char> > > >(boost::iostreams::non_blocking_adapter<boost::iostreams::detail::linked_streambuf<char, std::char_traits<char> > >&, std::_Ios_Openmode) in ods_v2-DjDcji.o 
     long boost::iostreams::basic_gzip_decompressor<std::allocator<char> >::read<boost::iostreams::detail::linked_streambuf<char, std::char_traits<char> > >(boost::iostreams::detail::linked_streambuf<char, std::char_traits<char> >&, char*, long) in ods_v2-DjDcji.o 
    "boost::iostreams::zlib::deflated", referenced from: 
     boost::iostreams::basic_gzip_decompressor<std::allocator<char> >::make_params(int) in ods_v2-DjDcji.o 
    "boost::iostreams::detail::gzip_footer::reset()", referenced from: 
     long boost::iostreams::basic_gzip_decompressor<std::allocator<char> >::write<boost::iostreams::detail::linked_streambuf<char, std::char_traits<char> > >(boost::iostreams::detail::linked_streambuf<char, std::char_traits<char> >&, char const*, long) in ods_v2-DjDcji.o 
     long boost::iostreams::basic_gzip_decompressor<std::allocator<char> >::read<boost::iostreams::detail::linked_streambuf<char, std::char_traits<char> > >(boost::iostreams::detail::linked_streambuf<char, std::char_traits<char> >&, char*, long) in ods_v2-DjDcji.o 
     boost::iostreams::basic_gzip_decompressor<std::allocator<char> >::basic_gzip_decompressor(int, int) in ods_v2-DjDcji.o 
    "boost::iostreams::detail::gzip_footer::process(char)", referenced from: 
     long boost::iostreams::basic_gzip_decompressor<std::allocator<char> >::write<boost::iostreams::detail::linked_streambuf<char, std::char_traits<char> > >(boost::iostreams::detail::linked_streambuf<char, std::char_traits<char> >&, char const*, long) in ods_v2-DjDcji.o 
     long boost::iostreams::basic_gzip_decompressor<std::allocator<char> >::read<boost::iostreams::detail::linked_streambuf<char, std::char_traits<char> > >(boost::iostreams::detail::linked_streambuf<char, std::char_traits<char> >&, char*, long) in ods_v2-DjDcji.o 
    "boost::iostreams::detail::gzip_header::reset()", referenced from: 
     long boost::iostreams::basic_gzip_decompressor<std::allocator<char> >::write<boost::iostreams::detail::linked_streambuf<char, std::char_traits<char> > >(boost::iostreams::detail::linked_streambuf<char, std::char_traits<char> >&, char const*, long) in ods_v2-DjDcji.o 
     long boost::iostreams::basic_gzip_decompressor<std::allocator<char> >::read<boost::iostreams::detail::linked_streambuf<char, std::char_traits<char> > >(boost::iostreams::detail::linked_streambuf<char, std::char_traits<char> >&, char*, long) in ods_v2-DjDcji.o 
     boost::iostreams::basic_gzip_decompressor<std::allocator<char> >::basic_gzip_decompressor(int, int) in ods_v2-DjDcji.o 
    "boost::iostreams::detail::gzip_header::process(char)", referenced from: 
     long boost::iostreams::basic_gzip_decompressor<std::allocator<char> >::write<boost::iostreams::detail::linked_streambuf<char, std::char_traits<char> > >(boost::iostreams::detail::linked_streambuf<char, std::char_traits<char> >&, char const*, long) in ods_v2-DjDcji.o 
     long boost::iostreams::basic_gzip_decompressor<std::allocator<char> >::read<boost::iostreams::detail::linked_streambuf<char, std::char_traits<char> > >(boost::iostreams::detail::linked_streambuf<char, std::char_traits<char> >&, char*, long) in ods_v2-DjDcji.o 
    "boost::iostreams::detail::zlib_base::after(char const*&, char*&, bool)", referenced from: 
     long boost::iostreams::symmetric_filter<boost::iostreams::detail::zlib_decompressor_impl<std::allocator<char> >, std::allocator<char> >::write<boost::iostreams::detail::linked_streambuf<char, std::char_traits<char> > >(boost::iostreams::detail::linked_streambuf<char, std::char_traits<char> >&, char const*, long) in ods_v2-DjDcji.o 
     void boost::iostreams::symmetric_filter<boost::iostreams::detail::zlib_decompressor_impl<std::allocator<char> >, std::allocator<char> >::close<boost::iostreams::detail::linked_streambuf<char, std::char_traits<char> > >(boost::iostreams::detail::linked_streambuf<char, std::char_traits<char> >&, std::_Ios_Openmode) in ods_v2-DjDcji.o 
     void boost::iostreams::symmetric_filter<boost::iostreams::detail::zlib_decompressor_impl<std::allocator<char> >, std::allocator<char> >::close<boost::iostreams::non_blocking_adapter<boost::iostreams::detail::linked_streambuf<char, std::char_traits<char> > > >(boost::iostreams::non_blocking_adapter<boost::iostreams::detail::linked_streambuf<char, std::char_traits<char> > >&, std::_Ios_Openmode) in ods_v2-DjDcji.o 
     long boost::iostreams::symmetric_filter<boost::iostreams::detail::zlib_decompressor_impl<std::allocator<char> >, std::allocator<char> >::read<boost::iostreams::basic_gzip_decompressor<std::allocator<char> >::peekable_source<boost::iostreams::detail::linked_streambuf<char, std::char_traits<char> > > >(boost::iostreams::basic_gzip_decompressor<std::allocator<char> >::peekable_source<boost::iostreams::detail::linked_streambuf<char, std::char_traits<char> > >&, char*, long) in ods_v2-DjDcji.o 
     void boost::iostreams::symmetric_filter<boost::iostreams::detail::zlib_decompressor_impl<std::allocator<char> >, std::allocator<char> >::close<boost::iostreams::basic_gzip_decompressor<std::allocator<char> >::peekable_source<boost::iostreams::detail::linked_streambuf<char, std::char_traits<char> > > >(boost::iostreams::basic_gzip_decompressor<std::allocator<char> >::peekable_source<boost::iostreams::detail::linked_streambuf<char, std::char_traits<char> > >&, std::_Ios_Openmode) in ods_v2-DjDcji.o 
    "boost::iostreams::detail::zlib_base::reset(bool, bool)", referenced from: 
     boost::iostreams::symmetric_filter<boost::iostreams::detail::zlib_decompressor_impl<std::allocator<char> >, std::allocator<char> >::close_impl() in ods_v2-DjDcji.o 
     boost::iostreams::symmetric_filter<boost::iostreams::detail::zlib_decompressor_impl<std::allocator<char> >, std::allocator<char> >::impl::impl<boost::iostreams::zlib_params>(int, boost::iostreams::zlib_params const&) in ods_v2-DjDcji.o 
     boost::detail::shared_count::shared_count<boost::iostreams::symmetric_filter<boost::iostreams::detail::zlib_decompressor_impl<std::allocator<char> >, std::allocator<char> >::impl>(boost::iostreams::symmetric_filter<boost::iostreams::detail::zlib_decompressor_impl<std::allocator<char> >, std::allocator<char> >::impl*) in ods_v2-DjDcji.o 
     boost::detail::sp_counted_impl_p<boost::iostreams::symmetric_filter<boost::iostreams::detail::zlib_decompressor_impl<std::allocator<char> >, std::allocator<char> >::impl>::dispose() in ods_v2-DjDcji.o 
    "boost::iostreams::detail::zlib_base::before(char const*&, char const*, char*&, char*)", referenced from: 
     long boost::iostreams::symmetric_filter<boost::iostreams::detail::zlib_decompressor_impl<std::allocator<char> >, std::allocator<char> >::write<boost::iostreams::detail::linked_streambuf<char, std::char_traits<char> > >(boost::iostreams::detail::linked_streambuf<char, std::char_traits<char> >&, char const*, long) in ods_v2-DjDcji.o 
     void boost::iostreams::symmetric_filter<boost::iostreams::detail::zlib_decompressor_impl<std::allocator<char> >, std::allocator<char> >::close<boost::iostreams::detail::linked_streambuf<char, std::char_traits<char> > >(boost::iostreams::detail::linked_streambuf<char, std::char_traits<char> >&, std::_Ios_Openmode) in ods_v2-DjDcji.o 
     void boost::iostreams::symmetric_filter<boost::iostreams::detail::zlib_decompressor_impl<std::allocator<char> >, std::allocator<char> >::close<boost::iostreams::non_blocking_adapter<boost::iostreams::detail::linked_streambuf<char, std::char_traits<char> > > >(boost::iostreams::non_blocking_adapter<boost::iostreams::detail::linked_streambuf<char, std::char_traits<char> > >&, std::_Ios_Openmode) in ods_v2-DjDcji.o 
     long boost::iostreams::symmetric_filter<boost::iostreams::detail::zlib_decompressor_impl<std::allocator<char> >, std::allocator<char> >::read<boost::iostreams::basic_gzip_decompressor<std::allocator<char> >::peekable_source<boost::iostreams::detail::linked_streambuf<char, std::char_traits<char> > > >(boost::iostreams::basic_gzip_decompressor<std::allocator<char> >::peekable_source<boost::iostreams::detail::linked_streambuf<char, std::char_traits<char> > >&, char*, long) in ods_v2-DjDcji.o 
     void boost::iostreams::symmetric_filter<boost::iostreams::detail::zlib_decompressor_impl<std::allocator<char> >, std::allocator<char> >::close<boost::iostreams::basic_gzip_decompressor<std::allocator<char> >::peekable_source<boost::iostreams::detail::linked_streambuf<char, std::char_traits<char> > > >(boost::iostreams::basic_gzip_decompressor<std::allocator<char> >::peekable_source<boost::iostreams::detail::linked_streambuf<char, std::char_traits<char> > >&, std::_Ios_Openmode) in ods_v2-DjDcji.o 
    "boost::iostreams::detail::zlib_base::do_init(boost::iostreams::zlib_params const&, bool, void* (*)(void*, unsigned int, unsigned int), void (*)(void*, void*), void*)", referenced from: 
     boost::iostreams::symmetric_filter<boost::iostreams::detail::zlib_decompressor_impl<std::allocator<char> >, std::allocator<char> >::impl::impl<boost::iostreams::zlib_params>(int, boost::iostreams::zlib_params const&) in ods_v2-DjDcji.o 
    "boost::iostreams::detail::zlib_base::xinflate(int)", referenced from: 
     long boost::iostreams::symmetric_filter<boost::iostreams::detail::zlib_decompressor_impl<std::allocator<char> >, std::allocator<char> >::write<boost::iostreams::detail::linked_streambuf<char, std::char_traits<char> > >(boost::iostreams::detail::linked_streambuf<char, std::char_traits<char> >&, char const*, long) in ods_v2-DjDcji.o 
     void boost::iostreams::symmetric_filter<boost::iostreams::detail::zlib_decompressor_impl<std::allocator<char> >, std::allocator<char> >::close<boost::iostreams::detail::linked_streambuf<char, std::char_traits<char> > >(boost::iostreams::detail::linked_streambuf<char, std::char_traits<char> >&, std::_Ios_Openmode) in ods_v2-DjDcji.o 
     void boost::iostreams::symmetric_filter<boost::iostreams::detail::zlib_decompressor_impl<std::allocator<char> >, std::allocator<char> >::close<boost::iostreams::non_blocking_adapter<boost::iostreams::detail::linked_streambuf<char, std::char_traits<char> > > >(boost::iostreams::non_blocking_adapter<boost::iostreams::detail::linked_streambuf<char, std::char_traits<char> > >&, std::_Ios_Openmode) in ods_v2-DjDcji.o 
     long boost::iostreams::symmetric_filter<boost::iostreams::detail::zlib_decompressor_impl<std::allocator<char> >, std::allocator<char> >::read<boost::iostreams::basic_gzip_decompressor<std::allocator<char> >::peekable_source<boost::iostreams::detail::linked_streambuf<char, std::char_traits<char> > > >(boost::iostreams::basic_gzip_decompressor<std::allocator<char> >::peekable_source<boost::iostreams::detail::linked_streambuf<char, std::char_traits<char> > >&, char*, long) in ods_v2-DjDcji.o 
     void boost::iostreams::symmetric_filter<boost::iostreams::detail::zlib_decompressor_impl<std::allocator<char> >, std::allocator<char> >::close<boost::iostreams::basic_gzip_decompressor<std::allocator<char> >::peekable_source<boost::iostreams::detail::linked_streambuf<char, std::char_traits<char> > > >(boost::iostreams::basic_gzip_decompressor<std::allocator<char> >::peekable_source<boost::iostreams::detail::linked_streambuf<char, std::char_traits<char> > >&, std::_Ios_Openmode) in ods_v2-DjDcji.o 
    "boost::iostreams::detail::zlib_base::zlib_base()", referenced from: 
     boost::iostreams::symmetric_filter<boost::iostreams::detail::zlib_decompressor_impl<std::allocator<char> >, std::allocator<char> >::impl::impl<boost::iostreams::zlib_params>(int, boost::iostreams::zlib_params const&) in ods_v2-DjDcji.o 
    "boost::iostreams::detail::zlib_base::~zlib_base()", referenced from: 
     boost::iostreams::symmetric_filter<boost::iostreams::detail::zlib_decompressor_impl<std::allocator<char> >, std::allocator<char> >::impl::impl<boost::iostreams::zlib_params>(int, boost::iostreams::zlib_params const&) in ods_v2-DjDcji.o 
     boost::detail::shared_count::shared_count<boost::iostreams::symmetric_filter<boost::iostreams::detail::zlib_decompressor_impl<std::allocator<char> >, std::allocator<char> >::impl>(boost::iostreams::symmetric_filter<boost::iostreams::detail::zlib_decompressor_impl<std::allocator<char> >, std::allocator<char> >::impl*) in ods_v2-DjDcji.o 
     boost::detail::sp_counted_impl_p<boost::iostreams::symmetric_filter<boost::iostreams::detail::zlib_decompressor_impl<std::allocator<char> >, std::allocator<char> >::impl>::dispose() in ods_v2-DjDcji.o 
ld: symbol(s) not found for architecture x86_64 
clang: error: linker command failed with exit code 1 (use -v to see invocation) 
make: *** [local] Error 1 

và cách xây dựng và liên kết thư viện tăng và zlib trên cụm unix? cảm ơn.

+0

Bạn sẽ có thể chỉ định -lz trên dòng lệnh gcc –

+0

@weeo 'Ctrl + k' để thụt đầu dòng mã/dòng lệnh. –

+0

@JeffPaquette nó vẫn là lỗi tương tự ... Tôi đang sử dụng mpi .. – weeo

Trả lời

8

Bạn không gặp vấn đề về trình biên dịch; bạn có một vấn đề liên kết.

Thêm -lboost_iostreams vào dòng lệnh. Bạn có thể cần -L/opt/lib để chỉ định đường dẫn. Điều này sẽ cung cấp cho bạn một lỗi liên kết khác, tìm kiếm zlib. Sau đó, thêm -lz.

Dòng cuối cùng sẽ trông giống như

mpic++ -o local ods_v2.0.cpp -I/opt/local/include -L/opt/lib -lboost_iostreams -lz 
+0

với -lboost_iostreams nó cho tôi ld: thư viện không tìm thấy cho -lboost_iostreams với -lz cùng một lỗi – weeo

+0

@weeo Hãy thử với '-L' đã thêm ... –

+0

ý của bạn là gì .... @ Alex Chamberlain – weeo

-4

Boost có Getting Started hướng dẫn tuyệt vời. Hãy xem, nó sẽ giúp bạn biên dịch, cài đặt và liên kết với Boost.

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