【发布时间】:2018-09-28 14:25:07
【问题描述】:
我们可以使用以下方法检查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。 -
已经检查过clang-6.0和clang++-6.0
-
试试
./configure CC="$CC" CXX="$CXX"。 -
您应该能够组装一个最小的示例(MCVE — minimal reproducible example)。我怀疑有大约 6 行
autoconf代码要显示(开始、结束、编译器检查,加上AX_CHECK_COMPILE_FLAG行,也许我忘记了一些东西),加上你运行的命令行,加上跟踪你得到的输出。 -
./configure CC="$CC" CXX="$CXX" 这个技巧没有帮助。 @jonathan-leffler 我添加了指向源配置文件的链接,并带有非工作命令的锚点。
标签: c++ c clang clang++ autoconf