自动工具/自动生成:添加包含路径的好方法 我在Linux环境下使用了AutoTooCAD编译C++项目。 我写入的所有包含路径都是相对的(例如:-i../path0/inc-i../path1/path2/inc-i../../path3/inc)
一切都很好,直到我决定在树构建目录中构建我的项目,因为所有的对象文件都在源文件中 当然,编译不再像我预期的那样有效 因此,我有几个问题:自动工具/自动生成:添加包含路径的好方法 我在Linux环境下使用了AutoTooCAD编译C++项目。 我写入的所有包含路径都是相对的(例如:-i../path0/inc-i../path1/path2/inc-i../../path3/inc),path,include,autotools,automake,Path,Include,Autotools,Automake,一切都很好,直到我决定在树构建目录中构建我的项目,因为所有的对象文件都在源文件中 当然,编译不再像我预期的那样有效 因此,我有几个问题: 我必须在每个include前面添加我自己@srcdir@吗?(例如:AM_CPPFLAGS=-I@srcdir@/path0/inc-I@srcdir@/../path1/inc) 或者什么是好方法 我必须在每个include前面添加我自己@srcdir@吗?(例如:AM_CPPFLAGS=-I@srcdir@/path0/inc-I@srcdir@/../p
make
自动变量表示的路径
然而,就个人而言,我更喜欢使用Automake提供的
$srcdir
和/或$top\u srcdir
变量,而不是Autoconf提供的@srcdir@
替换。我更喜欢$srcdir
,主要是因为它的抽象级别与Makefile.am
更匹配。我将其推广到所有Autoconf输出变量:应该在Makefile.am
文件中使用变量形式。@
分隔的表单适合在实际模板中使用,例如Makefile.in
中,但是如果将Automake与Autoconf一起使用,则不能直接使用Makefile模板。