frederic.bron@alcan.com wrote:
Compiling on Linux 2.6.9-42.ELsmp #1 SMP x86_64 x86_64 x86_64 GNU/Linux
I had no issue building the boost libraries using icpc 10.0 (toolset intel-linux). But when I try to compile the code I have written (which compiles well with g++), I get the following error (intel 9.1 and 10.0 give the same error):
/soft/bal/usr/boost_icc/include/boost/iostreams/detail/streambuf/indirect_streambuf.hpp(237): error: identifier "streamsize" is undefined streamsize keep = (std::min)( static_cast<streamsize>(gptr() - eback()), ^ detected during: instantiation of "boost::iostreams::detail::indirect_streambuf
::indirect_streambuf() [with T=boost::iostreams::basic_null_device , Tr=std::char_traits<char>, Alloc=std::allocator<char>, Mode=boost::iostreams::input]" at line 80 of "/soft/bal/usr/boost_icc/include/boost/iostreams/stream_buffer.hpp"
This is fixed in the upcoming release 1.35. For some reason this compiler requires an explicit "std::" qualification for std::streamsize, std::pair, and a few other types in Boost.Iostreams, even within the scope of "using namespace std." If you are using Boost 1.34.1, you should be able to fix the problem simply by inserting "std::" wherever the compiler complains.
Any idea?
F. Bron
-- Jonathan Turkanis CodeRage http://www.coderage.com