我们可以使用以下命令在
autoconf
中检查特定编译器标志的支持:AX_CHECK_COMPILE_FLAG(FLAG, [ACTION-SUCCESS], [ACTION-FAILURE], [EXTRA-FLAGS], [INPUT])
这些检查返回true,但是clang
不支持它们。
AX_CHECK_COMPILE_FLAG([-Woverride-init])
AX_CHECK_COMPILE_FLAG([-Wformat-truncation])
如何在autoconf
中检查对clang
编译器的支持编译标志?
我已经改变了我的编译器,方法是:
export CC=/usr/bin/clang-6.0
export CXX=/usr/bin/clang++-6.0
如果将$CC
和$CXX
的值输出到脚本中,一切都正常。
Clang
,则应使用标志检查。 - Jonathan Leffler./configure CC="$CC" CXX="$CXX"
。 - zwolconfigure.ac
不是MCVE。我花了几分钟尝试简化它,但似乎依赖于一些我在我的AutoTools设置中没有的额外部分(例如AX_CHECK_COMPILE_FLAG
宏)。您没有展示运行配置脚本的输出开头。当我使用从简化的configure.ac
创建的configure.sh
运行sh configure.sh CC=/usr/bin/clang CXX=/usr/bin/clang++
时,我会得到像checking for gcc... /usr/bin/clang
和checking whether /usr/bin/clang++ accepts -g... yes
这样的行。您的输出中是否看到类似的行? - Jonathan Leffler