2013-12-16 105 views
0

我有一個啓用automake的項目,我想用clang編譯。我添加了一個配置選項來啓用鐺:使用Clang編譯並使用GETTEXT

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]) 

如果這兩個宏都存在再配置忽略CC變量設置爲clang並回落到gcc。我必須註釋掉gettext宏,然後使用clang。

GETTEXT和clang顯然存在一些問題。我是否使用錯誤的宏,或者是不能使用gnu gettext庫?我怎樣才能解決這個問題?

+2

在*檢查庫(如gettext)之前,您是否嘗試將'CC'設置爲'clang' *? –

+0

不錯,工作。 – lanoxx

+1

真的沒有必要這樣做。 './configure CC = clang CFLAGS =「 - std = c99 ...」...'應該在沒有第一部分代碼的情況下工作('AC_ARG_ENABLE'等)。 – ldav1s

回答

1

您是否試圖設置CCclang之前您檢查庫(如gettext)? - 一些程序員哥們

不錯,工作。 - lanoxx