2017-06-21 89 views
0

我想在我的Eclipse CDT工作區中的另一個項目中包含和構建Autotools項目的源文件。我已經嘗試了https://stackoverflow.com/a/20792721/4128201中給出的步驟,通過設置Makefile.am來鏈接源(.cpp)和頭文件(.h)以及https://stackoverflow.com/a/2305737/4128201以在引用項目中構建源文件,但我仍然收到與發現相關的構建錯誤/鏈接的文件。 爲了便於討論,我有以下工作區:從了projectA/src目錄eclipse cdt autotools包括其他工作區項目源

projectA/ 
     src/ 

projectB/ 
     src/ 

我想包括和建設項目B源/ src目錄,所以我加入了projectA/src目錄作爲項目B的

「項目A」

屬性 - > C/C++通用>路徑和Symbols->源位置

這導致在Eclipse工作區項目新的鏈接源的文件夾,即:

projectA/ 
     src/ 

projectB/ 
     src/ 
     projecta/ (linked to projectA/src/) 

現在我可以#include XYZ.h在項目B的源文件和Eclipse找到鏈接,但建設時,我得到的錯誤:

... fatal error: XYZ.h: No such file or directory

了projectA/src目錄被包含在Makefile.amAM_CXXFLAGS = -I$(projecta_dir)包括,其中projecta_dir被定義爲項目路徑變量

屬性 - >資源 - >鏈接的資源 - >路徑變量

爲了projectA/SRC的絕對路徑。所以我需要知道是否可以將Makefile.am指向父目錄,並且如果Eclipse中的符號鏈接目錄對於Makefile.am的訪問有效?

當而限定了projectA/SRC作爲項目B鏈接的子目錄/導致SRC中:

projectB/ 
     src/ 
      ... 
      projecta/ (linked to projectA/src) 

並引導Makefile.am(在項目B/SRC)的子目錄:

AUTOMAKE_OPTIONS = subdir-objects 
bin_PROGRAMS = projectB 
projectB_SOURCES = ... projecta/XYZ.cpp 

和包括標頭#include "projecta/XYZ.h"我仍然收到錯誤:

... fatal error: projecta/XYZ.h: No such file or directory

和Eclipse的彈出錯誤還顯示:

Unresolved inclusion: "projecta/XYZ.h"

供參考,這是一個Yocto計劃ADT Autotools的C++項目實現GNU自動工具鏈

回答