如何设置自动工具的默认C++;编译标志
我对使用自动工具很陌生,我还在学习 因此,正如我的主题标题中所述,我想知道如何设置编译标志 我知道在这方面已经有了一些进展,但这并没有解决我的问题: 我用过:如何设置自动工具的默认C++;编译标志,c,autotools,flags,autoconf,automake,C,Autotools,Flags,Autoconf,Automake,我对使用自动工具很陌生,我还在学习 因此,正如我的主题标题中所述,我想知道如何设置编译标志 我知道在这方面已经有了一些进展,但这并没有解决我的问题: 我用过: ... AC_SUBST([AM_CXXFLAGS], [-Wall -Werror]) ... 但不幸的是,当使用/configure时,我得到: ... ./configure: line 3436: -Wall: command not found ... 结果,它生成了makefile,但没有目标 提前感谢您提供的任何帮助请改
...
AC_SUBST([AM_CXXFLAGS], [-Wall -Werror])
...
但不幸的是,当使用/configure
时,我得到:
...
./configure: line 3436: -Wall: command not found
...
结果,它生成了makefile,但没有目标
提前感谢您提供的任何帮助请改为在
Makefile.am
中设置它们:
AM_CXXFLAGS = -Wall -Werror
这对我很有用:
配置.ac
...
AC_SUBST([AM_CXXFLAGS], ["-Wall -Werror"])
...
对我也有用,因为
AC_SUBST([FOO], [BAR QUUX])
展开为以下shell代码:
FOO=BAR QUUX
运行QUUX时,FOO环境变量设置为BAR。在您的情况下,这意味着将AM\u CXXFLAGS
设置为-Wall
,并执行-Werror
。我不知道你为什么看到执行了-Wall
。。。对我来说,错误发生在第2802行:
configure: line 2802: error: -Werror not found
因此,我打开了configure
脚本,在第2802行找到了AM_CXXFLAGS=-Wall-Werror
。在configure.ac中将其更改为['-Wall-Werror']
,为我解决了一些问题
Autotools构建系统具有很强的可移植性,它使交叉编译比某些构建系统更容易(例如,Cmake需要设置了特殊变量的工具链文件)。我不建议将切换生成系统作为解决如此简单问题的方法。谢谢您的回答,但是绝对没有办法在
configure.ac
文件中设置它吗?事实上,我还没有找到一个项目与autotools功能相匹配,因此我不能同意上面的评论。