2012-06-16 2 views
1

부스트의 zlib 래퍼를 사용하는 코드를 컴파일하려고합니다. 그러나, 내가 무엇을해도, 나는 이것을 작동시킬 수 없다. 내 CPP 파일에서리눅스에서 zlib로 부스트 컴파일

, 나는 다음과 같은 헤더가 있습니다

./bootstrap.sh --prefix=/home/anon/boost --with-libraries=filesystem,program_options,system,serialization 
: 자체 실행 명령 후 bjam으로 지어진

g++ -O3 -ffast-math -funroll-loops -ansi -pedantic-errors -L/usr/lib -lboost_filesystem -lboost_serialization -lz -I /usr/include/boost -o zlib_test zlib_test.o 

부스트 : 나는 명령을 사용하여 컴파일하고

#include <algorithm> 
#include <fstream> 
#include <vector> 
#include <boost/archive/binary_oarchive.hpp> 
#include <boost/archive/binary_iarchive.hpp> 
#include <boost/serialization/vector.hpp> 
#include <boost/iostreams/filter/zlib.hpp> 
#include <boost/iostreams/filtering_stream.hpp> 

내가받는 오류 메시지는 다음과 같습니다.

(210)
zlib_test.o: In function `boost::detail::sp_counted_impl_p<boost::iostreams::symmetric_filter<boost::iostreams::detail::zlib_compressor_impl<std::allocator<char> >, std::allocator<char> >::impl>::dispose()': 
zlib_test.cpp:(.text._ZN5boost6detail17sp_counted_impl_pINS_9iostreams16symmetric_filterINS2_6detail20zlib_compressor_implISaIcEEES6_E4implEE7disposeEv[boost::detail::sp_counted_impl_p<boost::iostreams::symmetric_filter<boost::iostreams::detail::zlib_compressor_impl<std::allocator<char> >, std::allocator<char> >::impl>::dispose()]+0x30): undefined reference to `boost::iostreams::detail::zlib_base::reset(bool, bool)' 

등 ....

이 코드는 컴파일 얻을 수있는 방법에 어떤 아이디어? 중요한 점은 Centos 5 시스템에있는 것입니다.

답변

1

좋아, 문제를 발견했다. Boost 컴파일시 iostream을 컴파일하는 것을 잊었습니다.

따라서, 부스트를 구축하는 명령은 다음과 같아야합니다

./bootstrap.sh --prefix =/가정/andyyen/부스트 = 파일 시스템, program_options, 시스템, 직렬화 - 라이브러리 --with

을 IOSTREAMS