2013-06-23 69 views
2

我看到下面的錯誤編譯時...C:問題與預處理定義

./src/gettext.h:17:22: fatal error: libintl.h: No such file or directory 

所以我看代碼,看看...

#ifndef NO_GETTEXT 
#  include <libintl.h> 
#else 
#  ifdef gettext 
#    undef gettext 
#  endif 
#  define gettext(s) (s) 
#  ifdef ngettext 
#    undef ngettext 
#  endif 
#  define ngettext(s, p, n) ((n == 1) ? (s) : (p)) 
#endif 

我添加了一個名爲config文件.h我添加以下...

#define NO_GETTEXT 

但它似乎並沒有定義它,因爲我仍然看到錯誤。我對C比較陌生,所以我不確定發生了什麼。任何幫助?

+0

是否使用預編譯頭?編譯器可能已經處理了config.h並且保存了它的一個部分編譯版本以備將來使用,所以沒有注意到你的改變。 – Rup

+0

你是否確定你的編譯器有一個到'libintl.h'文件的路徑? 也許(我猜postgres)'include'目錄不知道你的環境 – Zaiborg

+1

當你在'config.h'中定義'NO_GETTEXT'時,你在上面的代碼之前完成了'#include「config.h」'嗎? –

回答

0

抱歉的應該是...

LOCAL_CFLAGS := -DNO_GETTEXT 

在我的生成文件