Eclipse上的Autotools项目和外部库

时间:2017-06-14 08:26:26

标签: c++ eclipse boost lambda yocto

我正在尝试使用Yocto ADT插件和Eclipse Luna构建一个Autotools项目。 我需要在项目中包含一些外部库,并且更具体地说是boost库。 让我们考虑最简单的情况:仅标题库。 我应该能够#include进入我的项目。 我正在尝试编译测试代码:

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

using namespace std;

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

但是我收到了错误:&#34;致命错误:boost / lambda / lambda.hpp:没有这样的文件或目录&#34;

当然我必须告诉编译器在哪里找到这个库。 我尝试以不同的方式做到这一点但没有成功。 举个例子: 项目 - &gt;属性 - &gt; C / C ++一般 - &gt;路径和符号 在那里,我为下载的库和已编译的库指定了路径(在这种情况下不需要,但为了一般性而添加):

enter image description here

在项目浏览器下正确报告了包含,但错误仍然存​​在。

然后我尝试了Project - &gt;属性 - &gt; C / C ++一般 - &gt;预处理器包括:

enter image description here

仍然遇到同样的错误。

然后我尝试包括配置Autotools添加-I选项:

enter image description here

当然它也没有成功。 在每次失败的构建尝试之后,我运行一个&#34; Clear Project&#34;和&#34;重新配置项目&#34;只是为了确保从头开始。

奇怪的是,如果我在编辑器中选择了boost / lambda / lambda.hpp并且我做了#34; Open Declaration&#34;它找到了文件:

enter image description here

此时我不知道该怎么做,显然我错过了什么。

你能帮助我吗?

附加说明:如果我使用GCC启动C ++可执行项目,则会识别库,我没有问题。 所以我认为问题出在Autotools或Yocto ADT中。 我甚至将增强库添加到我的Yocto构建和SDK中,但它不起作用。

1 个答案:

答案 0 :(得分:1)

我设法成功地将/src/Makefile.am中的include添加到库中。

here

我仍然不明白为什么这与更改Autotools配置标志不同。

如果有人有答案,请注意解释。