Makefile can not find boost libraries installed by macports
I just installed boost 1.42.0 from macports using sudo port install boost
.
Everything worked fine. Now I hav开发者_StackOverflow社区e a project that I'm trying to build using a makefile. Everything builds fine until it comes to the file that needs the boost library.
It says:
src/graph.h:20:42: error: boost/graph/adjacency_list.hpp: No such file or directoryThat file is actually located in two places:
/opt/local/include/boost/graph/adjacency_list.hpp and /opt/local/var/macports/software/boost/1.42.0_0/opt/local/include/boost/graph/adjacency_list.hppIn the file src/graph.h where it's looking for boost/graph/adjacency_list.hpp, the include statement is here:
#include<boost/graph/adjacency_list.hpp>
How do I make this work?
You need to tell the compiler the base directory where Boost is intalled. You can do that with the compiler's -I
command line option:
g++ -I/opt/local/include ...
Add one of these paths to your include path.
You can include the version using this include:
#include <boost/version.hpp>
which defines:
#define BOOST_VERSION 104200
#define BOOST_LIB_VERSION "1_42"
Use this to verify if your compiler is using the version you want it to use.
精彩评论