5

当我尝试在 vala 中使用 gettext 时,我没有收到来自 vala 的错误或警告,但我从 c 编译器收到以下错误:

/usr/include/glib-2.0/glib/gi18n-lib.h:29:2: error: #error You must define GETTEXT_PACKAGE before including gi18n-lib.h. Did you forget to include config.h?

我怎样才能解决这个问题?

4

3 回答 3

5

为了解决这个问题,我必须同时添加-X -DGETTEXT_PACKAGE="..."到 valac 命令并添加const string GETTEXT_PACKAGE = "...";到源文件的顶部。

如果我不将它添加到源文件的顶部,undeclared (first use in this function)由于某种原因,我会从 C 编译器中得到很多错误。

但是,我确实收到了来自 C 编译器的关于重新定义 GETTEXT_PACKAGE 的警告。

于 2011-08-28T18:53:01.680 回答
3

我认为最常见的解决方案是将 -DGETTEXT_PACKAGE="..." 传递给 C 编译器(如果您只是依靠 valac 调用它,请将 -X -DGETTEXT_PACKAGE="..." 传递给 valac)。

于 2011-08-28T18:17:50.040 回答
2

这可以提供帮助:https ://bugzilla.gnome.org/show_bug.cgi?id=618931

于 2011-08-28T15:19:55.573 回答