私は本当に理解できない問題に遭遇しています。
私は自分のCコードに一連のアイコンを直接 "インクルード"したいと思います。ツールgdk-pixbuf-csource(--structオプション付きで)を使用して、各イメージの 'const' pixdata構造を初期化するファイルを作成しました。 符号化された画像の例がこれです:constをコンパイルするGdkPixdata: "エラー:初期化要素が一定ではありません"
const GdkPixdata pixdata_flipH = {
0x47646b50, /* Pixbuf magic: 'GdkP' */
24 + 479, /* header length + pixel_data length */
0x2010002, /* pixdata_type */
64, /* rowstride */
16, /* width */
16, /* height */
/* pixel_data: */
"\257\0\0\0\0\1\0\0\0\1\203\0\0\0\0\2\0\0\0\2\40J\207E\202\40J\207\377"
"\202\0\0\0\0\202\40J\207\377\2\40J\207E\40J\207\2\202\0\0\0\0\1\0\0\0"
"\2\203\0\0\0\0\4\40J\2072\40J\207\377\276\322\352\377\40J\207\377\202"
<data continues......>
"\0\0\0\0\1\40J\207\1\204\0\0\0\0\1\40J\207\3\227\0\0\0\0\1\0\0\0\3\244"
};
私はいくつかのボタンのアイコンを含めたいので、私は以下の一連のステートメント準備:私は追加します。このように
GtkWidget *icon_flipH = gtk_image_new_from_pixbuf(gdk_pixbuf_from_pixdata(&pixdata_flipH, FALSE, NULL));
GtkWidget *icon_flipV = gtk_image_new_from_pixbuf(gdk_pixbuf_from_pixdata(&pixdata_flipV, FALSE, NULL));
// and so on...
を機能を持つボタンの画像:
gtk_button_set_image(GTK_BUTTON(button_flipH), icon_flipH);
うーん... GCCコンパイラはgdk_を含む各ラインで「初期化子要素が定数ではありません」というエラーになりますpixbuf_from_pixdata()関数。私はなぜ関数がconst構造体ポインタを必要とし、実際には私の構造体が 'const'と宣言されているのかを理解できません。
何か忘れていますか?イメージをコードに組み込み、pixbufsを作成するのは正しい方法ではありませんか?この場合のチュートリアルは何ですか? (icon_flipH
のような)ファイルスコープで定義された
グローバル変数を関数呼び出しの結果で初期化しようとしていますか?それはうまくいかないでしょう。 –
Carlさん、ありがとう、私は間違いを犯しました。 @Kerrek SB:私は実際に質問を投稿した学生なので、実際に職業を切り替える必要はありません。 – TheUnexpected