Makefile can not find boost libraries installed by macports

11,830

Solution 1

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 ...

Solution 2

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.

Share:
11,830
Phil Salesses
Author by

Phil Salesses

I'm a student at the MIT Media Lab and working to develop analytical tools with the Macro Connections group. Prior to MIT, I studied geography at James Madison University and worked as a researcher at the US Army Geospatial Center. In my down time, I enjoy taking photographs, running along the Charles River and when I have a case of insomnia, watching TV (Burn Notice and Dexter).

Updated on June 05, 2022

Comments

  • Phil Salesses
    Phil Salesses almost 2 years

    I just installed boost 1.42.0 from macports using sudo port install boost.

    Everything worked fine. Now I have 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 directory

    That 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.hpp

    In 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?