& quot; Нет такого файла & quot; Включить проблему с Boost dynamic_bitset

Я пытаюсь использовать класс Boost Dynamic_bitset для проекта, и я (как я полагаю) выбрал из полной библиотеки любое подмножество файлов, которое мне было нужно. Сейчас я делаю

#include "boost/dynamic_bitset.hpp" внутри моего файла manager.cpp, и при компиляции я получаю это:

In file included from manager.cpp:4:0:
boost/dynamic_bitset.hpp:15:51: fatal error: boost/dynamic_bitset/dynamic_bitset.hpp: No such file or directory

Файловая иерархия внутри папки проекта выглядит следующим образом:

proj/extras.h
proj/Makefile~
proj/manager.cpp
proj/boost
proj/boost/limits.hpp
proj/boost/dynamic_bitset.hpp
proj/boost/mpl
proj/boost/mpl/if.hpp
proj/boost/mpl/has_xxx.hpp
proj/boost/iterator.hpp
proj/boost/static_assert.hpp
proj/boost/dynamic_bitset
proj/boost/dynamic_bitset/dynamic_bitset.hpp
proj/boost/dynamic_bitset/config.hpp
proj/boost/config
proj/boost/config/select_platform_config.hpp
proj/boost/config/select_compiler_config.hpp
proj/boost/config/user.hpp
proj/boost/config/suffix.hpp
proj/boost/config/select_stdlib_config.hpp
proj/boost/dynamic_bitset_fwd.hpp
proj/boost/config.hpp
proj/boost/type_traits
proj/boost/type_traits/is_same.hpp
proj/boost/type_traits/is_pointer.hpp
proj/boost/type_traits/remove_pointer.hpp
proj/boost/type_traits/remove_const.hpp
proj/boost/type_traits/is_base_and_derived.hpp
proj/boost/type_traits/detail
proj/boost/type_traits/detail/bool_trait_def.hpp
proj/boost/type_traits/detail/yes_no_type.hpp
proj/boost/pending
proj/boost/pending/integer_log2.hpp
proj/boost/detail
proj/boost/detail/limits.hpp
proj/boost/detail/dynamic_bitset.hpp
proj/boost/detail/workaround.hpp
proj/boost/lowest_bit.hpp
proj/Makefile
proj/generator.cpp~
proj/generator.cpp

Этот же проект прекрасно компилируется в системах linux моего университета (g ++ 4.2.4 там, но я сомневаюсь, что это имеет значение), но не удается это сделать (с указанной выше ошибкой) на моем ноутбуке Ubuntu. Почему он не находит файл, поскольку он, очевидно, существует?

Все мои включения как таковые:

#include <cstdlib>
#include <cstdio>
#include <iostream>
#include "boost/dynamic_bitset.hpp"#include <cmath>
#include <list>
#include <unistd.h>
#include <sys/sem.h>
#include <sys/shm.h>
#include <errno.h>
#include <wait.h>
#include <time.h>
#include "extras.h"

компиляция делается просто с

g++ -o manager manager.c
или же
g++ -Iboost -o manager manager.c

если я хочу явно включить (локальную ..) папку

2

Решение

-I .

По крайней мере, если вы компилируете в тот же каталог, который содержит boost.

Вы написали -Iboost и #include «boost /…». Так что он выглядит в ./boost, если есть подкаталог boost.

1

Другие решения

Других решений пока нет …