我正在尝试使用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;路径和符号 在那里,我为下载的库和已编译的库指定了路径(在这种情况下不需要,但为了一般性而添加):
在项目浏览器下正确报告了包含,但错误仍然存在。
然后我尝试了Project - &gt;属性 - &gt; C / C ++一般 - &gt;预处理器包括:
仍然遇到同样的错误。
然后我尝试包括配置Autotools添加-I选项:
当然它也没有成功。 在每次失败的构建尝试之后,我运行一个&#34; Clear Project&#34;和&#34;重新配置项目&#34;只是为了确保从头开始。
奇怪的是,如果我在编辑器中选择了boost / lambda / lambda.hpp并且我做了#34; Open Declaration&#34;它找到了文件:
此时我不知道该怎么做,显然我错过了什么。
你能帮助我吗?附加说明:如果我使用GCC启动C ++可执行项目,则会识别库,我没有问题。 所以我认为问题出在Autotools或Yocto ADT中。 我甚至将增强库添加到我的Yocto构建和SDK中,但它不起作用。
答案 0 :(得分:1)