我想在我的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.am
爲AM_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自動工具鏈