I'm trying to install boost on mac osx 10.4.7. I followed
the tutorial "Getting Started on Unix Variants" found here:
http://www.boost.org/doc/libs/1_35_0/
more/getting_started/unix-variants.html
Following the instructions in the tutorial, I installed
boost in /usr/local as instructed, so my directory
structure is:
/usr/local/boost_1_34_1/boost
But when I run the first example in the tutorial:
#include
#include <iostream>
#include <iterator>
#include <algorithm>
int main()
{
using namespace boost::lambda;
typedef std::istream_iterator<int> in;
std::for_each(in(std::cin), in(), std::cout << (_1 * 3) << " " );
}
I get the error(among others):
error: boost/lambda/lambda.hpp: No such file or directory
If I change the include path to:
#include
I get the error(among others):
error: boost/lambda/core.hpp: No such file or directory
But core.hpp is in the lambda directory:
/usr/local/boost_1_34_1/boost/lambda$ ls
algorithm.hpp control_structures.hpp lambda.hpp
bind.hpp core.hpp loops.hpp
casts.hpp detail numeric.hpp
closures.hpp exceptions.hpp switch.hpp
construct.hpp if.hpp
I'm using the Xcode 2.4 IDE to run my C++ programs.
I also tried to execute the program from the command line with
the original include path:
#include
but I get the same error:
~/2testing/dir1$ g++ prog1.cpp
prog1.cpp:1:35: error: boost/lambda/lambda.hpp:
No such file or directory
prog1.cpp: In function 'int main()':
prog1.cpp:8: error: 'boost' has not been declared
prog1.cpp:8: error: expected namespace-name before ';' token
prog1.cpp:8: error: '<type error>' is not a namespace
prog1.cpp:11: error: '_1' was not declared in this scope
I get the same errors again with the full include path:
#include
$ g++ prog1.cpp
In file included from prog1.cpp:1:
/usr/local/boost_1_34_1/boost/lambda/lambda.hpp:14:33:
error: boost/lambda/core.hpp: No such file or directory
/usr/local/boost_1_34_1/boost/lambda/lambda.hpp:21:52:
error: boost/lambda/detail/operator_actions.hpp:
No such file or directory
/usr/local/boost_1_34_1/boost/lambda/lambda.hpp:22:61:
error: boost/lambda/detail/operator_lambda_func_base.hpp:
No such file or directory
/usr/local/boost_1_34_1/boost/lambda/lambda.hpp:23:63:
error: boost/lambda/detail/operator_return_type_traits.hpp:
No such file or directory
/usr/local/boost_1_34_1/boost/lambda/lambda.hpp:26:45:
error: boost/lambda/detail/operators.hpp:
No such file or directory
/usr/local/boost_1_34_1/boost/lambda/lambda.hpp:30:46:
error: boost/lambda/detail/member_ptr.hpp:
No such file or directory
prog1.cpp: In function 'int main()':
prog1.cpp:8: error: 'boost' has not been declared
prog1.cpp:8: error: expected namespace-name before ';' token
prog1.cpp:8: error: '<type error>' is not a namespace
prog1.cpp:11: error: '_1' was not declared in this scope
What path should I be using? Or, should I set an environment variable somewhere?