Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/133.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ C++&;克莱恩;GTK3&;glade信号不工作_C++_Cmake_Gtk3_Clion - Fatal编程技术网

C++ C++&;克莱恩;GTK3&;glade信号不工作

C++ C++&;克莱恩;GTK3&;glade信号不工作,c++,cmake,gtk3,clion,C++,Cmake,Gtk3,Clion,是我的CMakeLists.txt Glade模板工作,窗口显示,但信号不工作。我得到以下错误: 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(PkgConfi

是我的CMakeLists.txt Glade模板工作,窗口显示,但信号不工作。我得到以下错误:

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})
我使用了
-rdynamic
标志,但仍然得到了相同的错误

但下面的代码在终端中工作。我需要让CMake在代码下运行,这样它才能正常工作,或者你怎么想

(Chat:19486): Gtk-WARNING **: 11:44:05.546: Could not find signal handler 'on_login_window_destroy'.  Did you compile with -rdynamic?

我正在所有的库中使用Ubuntu18.04(我想是的)。

我想在经过大量搜索之后。。我发现它只适用于c,我已经测试过了;被发现是真的。因此,我使用的是
gtkmm.h
,它似乎能按预期工作。

尽管使用了gtk-2.0,但我还是遇到了完全相同的问题(和错误消息)。在macOS上解决这个问题的方法是直接使用
FindGTK2
模块,而不是pkg config命令。例如:

gcc -o Chat main.cpp -Wall `pkg-config --cflags --libs gtk+-3.0` -export-dynamic

在Linux上,我还必须添加
set(CMAKE\u EXE\u LINKER\u FLAGS“-rdynamic”)

尝试从终端使用CMAKE构建它,看看调用了什么命令。根据你的建议。它使用
/usr/bin/c++-std=c++11 CMakeFiles/Chat.dir/main.cpp.o-o Chat-lgtk-3-lgdk-3-lpangoairo-1.0-lpango-1.0-latk-1.0-lcairo-gobject-lcairo-lgdk_-pixbuf-2.0-lgio-2.0-lgobject-2.0-lglib-2.0
so??我不知道cmake和在所需位置添加标志。。。?
gcc -o Chat main.cpp -Wall `pkg-config --cflags --libs gtk+-3.0` -export-dynamic
find_package(GTK2 REQUIRED gtk glade)
if(GTK2_FOUND)
    include_directories(${GTK2_INCLUDE_DIRS})
    link_libraries(${GTK2_LIBRARIES})
    add_definitions(${GTK2_DEFINITIONS})
endif()