使用 AM_INIT_AUTOMAKE 参数并配置脚本命令行参数

Posted

技术标签:

【中文标题】使用 AM_INIT_AUTOMAKE 参数并配置脚本命令行参数【英文标题】:Using AM_INIT_AUTOMAKE parameters and configure script command line parameters 【发布时间】:2014-03-03 17:02:35 【问题描述】:

是否可以在配置脚本中使用两个命令行参数,ala:

../configure CXXFLAGS=-O0 -g -foo -bar -bat

同时将传递给 AM_INIT_AUTOMAKE 的任何选项保留在 configure.ac 文件中?例如:

AM_INIT_AUTOMAKE([-Wall -Werror])

我想要的结果是所有上述标志都被传递,例如:

-O0 -g -foo -bar -bat -Wall -Werror

似乎在命令行上指定 CXXFLAGS 会导致或覆盖传入 AM_INIT_AUTOMAKE 的内容。如果有人知道将两组合并的方法,那将非常有帮助。谢谢!

【问题讨论】:

【参考方案1】:

-W 警告类别options 与C[XX]FLAGS 无关。这些是调用 automake 时使用的命令行参数。

相反,AM_INIT_AUTOMAKE 选项(如 -Wall)不会影响编译器标志。只是决定使用这些开关名称会导致混淆。它们具有相似的含义,例如,-Werror 会将 automake 警告视为错误,但完全不相关。

简而言之,你必须在C[XX]FLAGS中传递-Wall等,才能影响编译器。并将-Wall 添加到AM_INIT_AUTOMAKE 以在调用automake 时启用所有警告类别。

【讨论】:

感谢您的澄清。

以上是关于使用 AM_INIT_AUTOMAKE 参数并配置脚本命令行参数的主要内容,如果未能解决你的问题,请参考以下文章

为啥 MSYS 无法识别 AM_INIT_AUTOMAKE 中的 tar-ustar 选项?

由于 AM_INIT_AUTOMAKE 中的 subdir-objects 选项,Autotools 构建失败

Automake/libtool 不构建共享库

SpringBoot读取配置文件中的参数并配置给全局使用

Java Ant - 如何传递 ProGuard 任务参数并在配置文件中使用它们?

spingboot项目,定义参数到配置文件并获取