我想在我的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自动工具链