#include <gtk/gtk.h>
G_MODULE_EXPORT void on_login_window_destroy()
{
gtk_main_quit();
}
int main (int argc, char **argv)
{
gtk_init(&argc, &argv);
GtkBuilder *builder;
GtkWidget *window;
builder = gtk_builder_new();
gtk_builder_add_from_file (builder, "../layout.glade", NULL);
window = GTK_WIDGET(gtk_builder_get_object(builder, "login_window"));
gtk_builder_connect_signals(builder, NULL);
g_object_unref(builder);
gtk_widget_show(window);
gtk_main();
return 0;
}
this is my main.cpp
and
cmake_minimum_required(VERSION 3.6)
project(Chat)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -rdynamic")
set(SOURCE_FILES main.cpp)
add_executable(Chat ${SOURCE_FILES})
find_package(PkgConfig REQUIRED)
pkg_check_modules(GTK3 REQUIRED gtk+-3.0)
include_directories(${GTK3_INCLUDE_DIRS})
link_directories(${GTK3_LIBRARY_DIRS})
add_definitions(${GTK3_CFLAGS_OTHER})
target_link_libraries(Chat ${GTK3_LIBRARIES})
is my CMakeLists.txt Glade template works and window shows but the signal is not working. I got below error:
(Chat:19486): Gtk-WARNING **: 11:44:05.546: Could not find signal handler 'on_login_window_destroy'. Did you compile with -rdynamic?
I used -rdynamic
flag but still got the same error.
But below code works in terminal. I would need to either make CMake to run below code sothat it works or what do you think.?
gcc -o Chat main.cpp -Wall `pkg-config --cflags --libs gtk+-3.0` -export-dynamic
I am using UBUNTU 18.04 with all the libraries (I think so.)