Autotools / Automake:添加包含路径的好方法

问题描述 投票:0回答:1

我有一个使用自动工具在Linux环境下进行编译的C ++项目。我写的所有路径都是相对的(例如:-I ../ path0 / inc -I ../ path1 / path2 / inc -I ../../../ path3 / inc)。

直到我决定在树构建目录中构建我的项目,一切都很好,因为所有目标文件都在源文件中。

当然,编译不符合我的预期。

所以,有我的问题:

  1. 我必须在每个include前面添加自己@ srcdir @吗? (例如:AM_CPPFLAGS = -I @ srcdir @ / path0 / inc -I @ srcdir @ /../ path1 / inc)
  2. 或者执行此操作的好方法是什么?
path include autotools automake
1个回答
0
投票
我必须在每个include前面添加自己@ srcdir @吗? (例如:AM_CPPFLAGS = -I @ srcdir @ / path0 / inc -I @ srcdir @ / .. / path1 / inc)
    或者执行此操作的好方法是什么?
  • 要正确地支持树外构建,是的,您需要显式表达相对于源目录的包含目录。命令行参数中的所有其他源树路径也是如此,仅那些通过make自动变量表示规则前提的变量除外。
  • 但是,我个人更喜欢使用Automake提供的$srcdir和/或$top_srcdir变量,而不是使用Autoconf中的@srcdir@替代。
  • 最新问题
    © www.soinside.com 2019 - 2024. All rights reserved.