如何在Autotools中设置包含路径?

时间:2017-06-09 10:42:32

标签: autotools

我用这个目录结构创建了一个学习项目:

    top_srcdir
      /   \   
    src   build
    / \
src1   src2

目录src包含带有以下内容的文件main.c:

#include "src1/foo.h"

#include "src2/bar.h"
int main()
{
foo();
bar();
return 0;
}

src / src1 / foo.c包含:

#include "src1/foo.h"
//some code

src / src2 / bar.c包含:

#include "src2/bar.h"
//some code

Makefile.am包含:

bin_PROGRAMS = sample
sample_SOURCES = src/main.c src/src1/foo.c src/src2/bar.c

当我将woring目录更改为build并执行../configure && make时,make步骤失败,

  

../ src / src1 / foo.c致命错误:src1 / foo.h:没有这样的文件或目录。

我应该为变量AM_CPPFLAGS提供什么值,以便不会发生此错误?

1 个答案:

答案 0 :(得分:2)

您真的不需要设置AM_CPPFLAGS:

bin_PROGRAMS = sample
sample_SOURCES = src/main.c src/src1/foo.c src/src2/bar.c
sample_CPPFLAGS = -I src

应该工作。