开发者

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


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.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜