2017-06-14 112 views
2

我正嘗試使用Yocto ADT插件和Eclipse Luna構建一個Autotools項目。 我需要將一些外部庫包含到項目中,並更具體地說是boost庫。 讓我們考慮一下最簡單的情況:僅標題庫。 我應該可以#include到我的項目中。 我嘗試編譯測試代碼:Eclipse上的Autotools項目和外部庫

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

using namespace std; 

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

,但我得到的錯誤:「致命錯誤:升壓/λ/ lambda.hpp:沒有這樣的文件或目錄」

當然我必須告訴編譯器在哪裏可以找到這個庫。 我試圖用不同的方式做,但沒有成功。 爲了讓一些例子: 項目 - >屬性 - > C/C++常規 - >路徑和符號 有我指定的路徑下載庫和編譯庫(不需要在這種情況下,但增加了對通用):

enter image description here

將包括在項目瀏覽器下正常的報道,但錯誤依然存在。

然後我試圖對項目工作 - >屬性 - > C/C++常規 - >預處理器包括:

enter image description here

仍然得到同樣的錯誤。

我試圖然後包括配置自動工具添加-I選項:

enter image description here

當然沒有成功要麼。 每次失敗的構建嘗試後,我都會運行「清除項目」和「重新配置項目」,以確保從頭開始。

奇怪的是,如果我選擇在編輯器升壓/λ/ lambda.hpp和我做「開放宣言」,找到文件:

enter image description here

在這一點上我不不知道該怎麼做,顯然我錯過了一些東西。

你能幫我嗎?

附加說明:如果我使用GCC啓動C++可執行項目庫承認,我沒有問題。 所以我認爲這個問題在Autotools或Yocto ADT中。 我甚至將增強庫添加到我的Yocto版本和SDK中,但它不起作用。

回答

1

我設法成功編譯添加到/src/Makefile.am包含庫。

enter image description here

可是我還是不明白這是爲什麼更改自動工具配置標誌不同。

如果有人有答案,請小心解釋。

+0

我想這取決於Autotools,因爲項目是由Makefile構建的。所以,你的問題是爲什麼eclipse包含配置不會影響makefile的內容? – Roman

+0

Exacly,爲什麼Eclipse Autotool設置不會影響我的源文件夾中的Makefile.am – Podarce

+0

3年過去了,難道你沒有任何想象嗎? – Roman