2017-06-21 191 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自动工具链

回答