Автоинструмент проекта и внешние библиотеки на Eclipse

Я пытаюсь построить проект Autotools, используя Yocto ADT Plugin и Eclipse Luna. Мне нужно включить некоторые внешние библиотеки в проект и, если быть более точным, библиотеки boost. Давайте рассмотрим самый простой вариант: библиотека только для заголовков. Я должен быть в состоянии включить в свой проект. Я пытаюсь скомпилировать тестовый код:

#include <iostream>
#include <boost/lambda/lambda.hpp>

using namespace std;

int main(void) {
        cout << "Hello World" << endl; /* prints Hello World */
        return 0;
}

но я получаю сообщение об ошибке: "фатальная ошибка: boost/lambda/lambda.hpp: нет такого файла или каталога"

Конечно, я должен сказать компилятору, где найти библиотеку. Я пытался сделать это по-разному, но ничего не получилось. Чтобы сделать несколько примеров: Project -> Properties -> C/C++ General -> Path and Symbols Там я указал путь для загруженных библиотек и для скомпилированных библиотек (в данном случае не требуется, но добавлен для общности):

введите описание изображения здесь

Включение правильно отображается в обозревателе проектов, но ошибка не исчезла.

Затем я попытался поработать над Project -> Properties -> C/C++ General -> Preprocessor Include:

введите описание изображения здесь

Все еще получаю ту же ошибку.

Затем я попытался включить настройку Autotools, добавив опцию -I:

введите описание изображения здесь

Конечно, это тоже не удалось. После каждой неудачной попытки сборки я запускаю "Очистить проект" и "Переконфигурировать проект", просто чтобы начать все сначала.

Странно то, что если я выбираю boost / lambda / lambda.hpp в редакторе, и я делаю "Открытое объявление", он находит файл:

введите описание изображения здесь

На данный момент я не знаю, что делать, я явно что-то упускаю.

Не могли бы вы помочь мне?

Дополнительное примечание: если я запускаю исполняемый проект C++ с использованием GCC, библиотека распознается, и у меня нет проблем. Так что я думаю, что проблема в Autotools или Yocto ADT. Я даже добавил библиотеки наддува в свою сборку Yocto и SDK, но она не работает.

1 ответ

Мне удалось скомпилировать добавление в /src/Makefile.am включения в библиотеки.

введите описание изображения здесь

Тем не менее, я не понимаю, почему это отличается от изменения флага настройки Autotools.

Если у кого-то есть ответ, пожалуйста, объясните.

Другие вопросы по тегам