windows GTK + Button widget + 踩地雷 遊戲

當我在參考http://debian.linux.org.tw/~kevpeng/所作的GTK教學時,這個button.c編譯會發生下面的錯誤:
button.c:15:  error: invalid conversion from `const void*’ to `void*’
button.c:15   error:   initializing argument 4 of `gulong g_signal_connect_data(void*, const gchar*, void (*)(), void*, void (*)(void*, GClosure*), GConnectFlags)’

感覺好像是型態上的錯誤,因為on_clicked函式有個gpointer的型態,所以我將15行的”[Click Me]”這個字串得轉換字串為(gpointer) “[Click Me]”放在g_signal_connect函式中編譯才會成功!

這支踩地雷遊戲,mines.c編譯時也一樣有類似的錯誤:

mines.cpp:120: error: invalid conversion from `int’ to `GtkDialogFlags’
mines.cpp:120: error:   initializing argument 2 of `GtkWidget* gtk_message_dialog_new(GtkWindow*, GtkDialogFlags, GtkMessageType, GtkButtonsType, const gchar*, …)’

將120行改成
 dialog=gtk_message_dialog_new(GTK_WINDOW(window),(GtkDialogFlags) 0,GTK_MESSAGE_INFO, GTK_BUTTONS_OK, msg);

這樣編譯就可以成功了!

編譯好的踩地雷下載mines.exe

Print Friendly, PDF & Email

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步瞭解 Akismet 如何處理網站訪客的留言資料