- 论坛徽章:
- 0
|
各位, 小弟正在寫一個gtk的程序, 但當加入i18n支援時就出現以下情況. 情況出現在GtkItemFactoryEntry內, 我想把menu內加入i18n功能.
- ....
- #include <libintl.h>;
- #include <stdio.h>;
- #define _(STRING) gettext(STRING)
- #define N_(STRING) gettext_noop(STRING)
- ...
- static GtkItemFactoryEntry menu_item[] =
- {
- { N_("/Action"), NULL, NULL, 0, "<Branch>;"},
- { N_("/Action/one"), NULL, one, 0, NULL},
- { N_("/Action/sep1"), NULL, NULL, 0, "<Separator>;"},
- { N_("/Action/Exit"), NULL, gtk_main_quit, 0, NULL},
- { N_("/Help"), NULL, NULL, 0, "<Branch>;"},
- { N_("/Help/About"), NULL, help, 0, NULL},
- };
复制代码
但它在編譯時出現以下錯誤:
- root@Compaq:~/setpppoe# ./build.sh
- interfunc.c:23: warning: implicit declaration of function `N_'
- interfunc.c:23: error: initializer element is not constant
- interfunc.c:23: error: (near initialization for `menu_item[0].path')
- interfunc.c:23: error: initializer element is not constant
- interfunc.c:23: error: (near initialization for `menu_item[0]')
- interfunc.c:24: error: initializer element is not constant
- interfunc.c:24: error: (near initialization for `menu_item[1].path')
- interfunc.c:24: error: initializer element is not constant
- interfunc.c:24: error: (near initialization for `menu_item[1]')
- interfunc.c:25: error: initializer element is not constant
- interfunc.c:25: error: (near initialization for `menu_item[2].path')
- interfunc.c:25: error: initializer element is not constant
- interfunc.c:25: error: (near initialization for `menu_item[2]')
- interfunc.c:26: error: initializer element is not constant
- interfunc.c:26: error: (near initialization for `menu_item[3].path')
- interfunc.c:26: error: initializer element is not constant
- interfunc.c:26: error: (near initialization for `menu_item[3]')
- interfunc.c:27: error: initializer element is not constant
- ......
复制代码
我已經查過很多貼及軟件包, 它們都是用這個方法為MENU加入i18n功能, 但我的就不能, 是否我打錯什麼, 請各位指教. thanks. |
|