GTK + (gtkmm이 아닌)를 사용하여 C++로 응용 프로그램을 작성하므로 g ++ 컴파일러를 사용하여 컴파일해야합니다. g ++ 컴파일러로 GTK + 응용 프로그램을 컴파일 할 수 있습니까? GTK + 및 라이브러리는 g ++ 컴파일러와 호환됩니까?G ++ 컴파일러로 GTK + 응용 프로그램 컴파일
#include <gtk/gtk.h>
class LoginWindow
{
public:
LoginWindow();
void on_window_destroy(GtkObject *object, gpointer user_data);
private:
GtkBuilder *builder;
GtkWidget *window;
};
LoginWindow::LoginWindow()
{
builder = gtk_builder_new();
gtk_builder_add_from_file (builder, "login_window.glade", NULL);
window = GTK_WIDGET (gtk_builder_get_object (builder, "login_window"));
gtk_builder_connect_signals (builder, NULL);
g_signal_connect(GTK_OBJECT(window), "destroy", GTK_SIGNAL_FUNC(on_window_destroy), NULL);
g_object_unref (G_OBJECT (builder));
gtk_widget_show (window);
}
void LoginWindow::on_window_destroy (GtkObject *object, gpointer user_data)
{
gtk_main_quit();
}
int main (int argc, char *argv[])
{
gtk_init (&argc, &argv);
LoginWindow loginWindow;
gtk_main();
return 0;
}
내가 바로 그 일을하고 있는가 :
나는 다음과 같은 GTK + 기능 클래스에 전화를 포함하는 것을 시도하고있다? 온라인에서 컴파일 오류가 발생합니다.
g_signal_connect(GTK_OBJECT(window), "destroy", GTK_SIGNAL_FUNC(on_window_destroy), NULL);
login_window.cpp: In constructor "LoginWindow::LoginWindow()":
login_window.cpp:27: error: invalid use of member (did you forget the "&" ?)
올바른 방법은 무엇입니까?