Я пытался получить настройки проекта C ++, используя библиотеку файловой системы boost, используя eclipse.Я следовал этим инструкциям, чтобы установить boost в моей системе.Направления, где в значительной степени
- скачать
- извлечь
- запустить bootstrap.sh
- запустить ./bjam архитектура = в сочетании
Казалось, все прошло хорошо, без ошибок.Затем я запустил eclipse и создал новый тестовый проект под названием test с единственным файлом test.cpp.Код в нем:
#include <stdio.h>
#include <boost/filesystem.hpp>
int main() {
boost::filesystem::path path("/Users/schoen"); // random pathname
bool result = boost::filesystem::is_directory(path);
printf("Path is a directory : %d\n", result);
return 0;
}
Это просто что-то простое, чтобы убедиться, что все настроено правильно.Конечно, я попытался скомпилировать на этом этапе, и это не удалось.Поискал и нашел этот сайт.Было сказано добавить библиотеку boost к компоновщику, перейдя в свойства проекта и добавив «boost_filesystem».Я попробовал это, и хорошо, что это не сработало.
Может кто-нибудь указать мне правильное направление или подсказать, как настроить Boost в проекте Eclipse?
Я новичок в C ++ и Eclipse, и большая часть моего опыта в Java с Netbeans.Так что в данный момент я довольно растерян.
ОБНОВЛЕНИЕ
Я просто хотел обновить то, что я пытался, основываясь на полученных ответах.
По предложению Алекса я добавил boost_system и boost_filesystem в список компоновщиков.Я все еще получал те же ошибки компилятора.
Следуя предложению от rve, я добавил путь к библиотекам буста в путь поиска Библиотеки.Когда это не сработало.Я очистил список компоновщиков и попробовал его только путем поиска в библиотеке.Это также не сработало.
Затем я очистил путь поиска в библиотеке.Затем я вручную отредактировал команду в окне компоновщика так: «g ++ -L / Users / jacobschoen / Library / boost_1_45_0 / stage / lib -lboost -lboost_filesystem».Это тоже не сработало.
Во всех этих случаях я пытался установить путь для повышения: '/ Users / jacobschoen / Library / boost_1_45_0' и '/ Users / jacobschoen / Library / boost_1_45_0 / stage / lib'.Ни один из них не работал.
В соответствии с запросом ошибка компилятора для приведенного выше кода:
**** Build of configuration Debug for project test ****
make all
Building file: ../src/test.cpp
Invoking: GCC C++ Compiler
g++ -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"src/test.d" -MT"src/test.d" -o"src/test.o" "../src/test.cpp"
../src/test.cpp:10:32: warning: boost/filesystem.hpp: No such file or directory
../src/test.cpp: In function 'int main()':
../src/test.cpp:13: error: 'boost' has not been declared
../src/test.cpp:13: error: expected `;' before 'path'
../src/test.cpp:14: error: 'boost' has not been declared
../src/test.cpp:14: error: 'path' was not declared in this scope
make: *** [src/test.o] Error 1
Если у кого-то есть какие-либо дополнительные предложения, я все еще пытаюсь.
Второе обновление По предложению rholmes я добавил библиотеку include вместе со списком компоновщиков и путем поиска библиотеки.Итак, теперь ошибка компиляции:
**** Build of configuration Debug for project test ****
make all
Building target: test
Invoking: MacOS X C++ Linker
g++ -L/Users/jacobschoen/Library/boost_1_45_0 -o "test" ./src/test.o -lboost_system -lboost_filesystem
ld: library not found for -lboost_system
collect2: ld returned 1 exit status
make: *** [test] Error 1
Есть идеи?