xcode 4.2
os x 10.7
when i set my includes to look like:
#include <iostream>
#include <boost/thread.hpp>
I get the following error from a file located at /opt/local/include/boost/tr1/tr1
Lexical or Preprocessor Issue
'boost/tr1/detail/config_all.hpp' file not found
Contents of the /opt/local/include/boost/tr1/tr1/iostream file:
// (C) Copyright John Maddock 2005.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
//
// This file exists to prevent std lib headers from accidentally
// including a TR1 extention header; we must suppress this otherwise
// we can end up with cyclic dependencies with some std lib implementations.
//
#ifndef BOOST_TR1_iostream_INCLUDED
# define BOOST_TR1_iostream_INCLUDED
# ifndef BOOST_TR1_NO_RECURSION
# define BOOST_TR1_NO_RECURSION
# define BOOST_TR1_NO_iostream_RECURSION
# endif
# include <boost/tr1/detail/config_all.hpp>
# if defined(BOOST_HAS_INCLUDE_NEXT) && !defined(BOOST_TR1_DISABLE_INCLUDE_NEXT)
# include_next <iostream>
# else
# include BOOST_TR1_STD_HEADER(iostream)
# endif
# ifdef BOOST_TR1_NO_iostream_RECURSION
# undef BOOST_TR1_NO_iostream_RECURSION
# undef BOOST_TR1_NO_RECURSION
# endif
#endif
I should be using the iostream header located at /Developer/SDKs/MacOSX10.7.sdk/usr/include/c++/4.2.1/
You will have to forgive me as I am very new to c++ and even more new to xcode. Thank you in advance for any help.
Definitely turn off recursive searches. You should never be able to include a boost header without specifying the complete boost path. Much of Boost is sort of a training ground for features that will make their way into the standard eventually, and as such there are a great number of Boost headers that share the same name as standard headers. There are also a bunch of boost headers that share the same name as other boost headers. There is no end to the grief this will cause you.