Makefile找不到macports安装的boost库

Phi*_*ses 2 c++ linker boost macports dyld

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

一切都很好.现在我有一个项目,我正在尝试使用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>

我该如何工作?

R S*_*hko 13

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

g++ -I/opt/local/include ...
Run Code Online (Sandbox Code Playgroud)

  • @pinnacler - 你可以做`ln -s/opt/local/include/boost/usr/include` (3认同)
  • 它奏效了,但我仍然很好奇.PS对于任何想要知道如何在mac上构建SLAM6D的人:打开makefile.options(从makefile.options.macosx重命名后)并在底部添加此行与其他CFLAGS CFLAGS + = -I/opt/local /包括 (2认同)