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 コンパイラから多くのエラーが発生します。

ただし、GETTEXT_PACKAGE を再定義すると、C コンパイラから警告が表示されます。

于 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 に答える