Take the code at:
http://www.boost.org/libs/graph/example/strong_components.cpp
Compile it as is with /W4 and /Za. It compiles albeit with a slew of
warnings.
Now move
#include <iostream>
#include <vector>
before
#include
The problem seems to be that BOOST_HAS_LONG_LONG has two different checks to see if should be defined:
1 @ E:\users\savoiu\Projects\boost\boost\config\suffix.hpp(26):#include
# if !defined(BOOST_HAS_LONG_LONG) \ && !(defined(BOOST_MSVC) && BOOST_MSVC <=1300) && !defined(__BORLANDC__) \ && (defined(ULLONG_MAX) || defined(ULONG_LONG_MAX) || defined(ULONGLONG_MAX)) # define BOOST_HAS_LONG_LONG #endif Adding a '(...) || !defined(_MSC_EXTENSIONS)' to the MSVC test in (1) fixes the problem. But it seems to me that BOOST_HAS_LONG_LONG should only be defined in one place to reduce the possibility of things being out of sync.
Can you let me have a test case please: (1) does *not* result in BOOST_HAS_LONG_LONG getting defined - well not for me anyway with vc7.1 and the /Za option.
Thanks,
John.