Makefile找不到macports安装的boost库

时间:2010-04-28 05:28:50

标签: c++ boost linker macports dyld

我刚刚使用sudo port install boost从macports安装了boost 1.42.0。

一切都很好。现在我有一个项目,我正在尝试使用makefile构建。一切都很好,直到它需要boost库的文件。

它说:
src / graph.h:20:42:错误:boost / graph / adjacency_list.hpp:没有这样的文件或目录

该文件实际上位于两个地方:
/opt/local/include/boost/graph/adjacency_list.hpp

/opt/local/var/macports/software/boost/1.42.0_0/opt/local/include/boost/graph/adjacency_list.hpp

在文件src / graph.h中,它正在寻找boost / graph / adjacency_list.hpp,include语句在这里:
    #include<boost/graph/adjacency_list.hpp>

我如何使这项工作?

2 个答案:

答案 0 :(得分:13)

您需要告诉编译器安装Boost的基本目录。您可以使用编译器的-I命令行选项来执行此操作:

g++ -I/opt/local/include ...

答案 1 :(得分:2)

将其中一个路径添加到包含路径。

您可以使用以下内容包含该版本:

#include <boost/version.hpp>

定义:

#define BOOST_VERSION 104200
#define BOOST_LIB_VERSION "1_42"

使用此命令验证编译器是否使用了您希望它使用的版本。