我有一个使用自动工具在Linux环境下进行编译的C ++项目。我写的所有路径都是相对的(例如:-I ../ path0 / inc -I ../ path1 / path2 / inc -I ../../../ path3 / inc)。
直到我决定在树构建目录中构建我的项目,一切都很好,因为所有目标文件都在源文件中。
当然,编译不符合我的预期。
所以,有我的问题:
我必须在每个include前面添加自己@ srcdir @吗? (例如:AM_CPPFLAGS = -I @ srcdir @ / path0 / inc -I @ srcdir @ / .. / path1 / inc)或者执行此操作的好方法是什么?
make
自动变量表示规则前提的变量除外。$srcdir
和/或$top_srcdir
变量,而不是使用Autoconf中的@srcdir@
替代。