我有一个启用了automake的项目,我想用clang编译。我添加了一个configure选项来启用clang:
AC_ARG_ENABLE([clang],
[AS_HELP_STRING([--enable-clang],[use clang instead of gcc as C compiler.])])
#Use C99 compilation mode
if test "x$enable_clang" = "xyes"; then
# clang uses c99 mode by default, so we just set CC to clang and we are done
CC="clang";
else
# We do not need to set CC as the default is gcc, but we need to set it to
# use C99 compilation mode
CFLAGS="$CFLAGS -std=c99";
fi
在文件中我还有以下两个宏,以启用gettext功能:
AM_GNU_GETTEXT_VERSION([0.18.1])
AM_GNU_GETTEXT([external])
如果存在这两个宏,则configure会忽略CC
变量设置为clang
并回退到gcc
。我必须注释掉gettext宏,然后使用clang。
显然GETTEXT和clang存在一些问题。我使用错误的宏,还是铿锵不能使用gnu gettext库?我该如何解决这个问题?
答案 0 :(得分:1)
在检查库(如gettext)之前,您是否尝试将CC
设置为clang
? - 一些程序员老兄
很好,有效。 - lanoxx