Makefile can not find boost libraries installed by macports

随声附和 提交于 2019-12-09 22:59:12

问题


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?


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



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



来源:https://stackoverflow.com/questions/2727031/makefile-can-not-find-boost-libraries-installed-by-macports

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!