Makefile не может найти библиотеки boost, установленные macports - PullRequest
2 голосов
/ 28 апреля 2010

Я только что установил boost 1.42.0 из macports, используя sudo port install boost.

Все работало нормально. Теперь у меня есть проект, который я пытаюсь создать, используя make-файл. Все строится нормально, пока не доходит до файла, которому нужна библиотека 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<boost/graph/adjacency_list.hpp>

Как мне сделать эту работу?

Ответы [ 2 ]

13 голосов
/ 28 апреля 2010

Вы должны указать компилятору базовый каталог, в котором установлен Boost. Вы можете сделать это с помощью опции командной строки компилятора -I:

g++ -I/opt/local/include ...
2 голосов
/ 28 апреля 2010

Добавьте один из этих путей к вашему включаемому пути.

Вы можете включить версию, используя это:

#include <boost/version.hpp>

, который определяет:

#define BOOST_VERSION 104200
#define BOOST_LIB_VERSION "1_42"

Используйте это, чтобы проверить, использует ли ваш компилятор версию, которую вы хотите использовать.

...