gtk_widget_set_realized não foi declarado neste escopo

1

Estou tentando compilar OpenCV 3.1.0 on RHEL 6.4 e recebendo o seguinte erro:

[ 34%] Building CXX object modules/highgui/CMakeFiles/opencv_highgui.dir/src/window_gtk.cpp.o
/hpcf/libs/opencv/vendor/3.1.0-2/modules/highgui/src/window_gtk.cpp: In function ‘void cvImageWidget_realize(GtkWidget*)’:
/hpcf/libs/opencv/vendor/3.1.0-2/modules/highgui/src/window_gtk.cpp:167: error: ‘gtk_widget_set_realized’ was not declared in this scope
/hpcf/libs/opencv/vendor/3.1.0-2/modules/highgui/src/window_gtk.cpp: In function ‘void cvImageWidget_size_allocate(GtkWidget*, GtkAllocation*)’:
/hpcf/libs/opencv/vendor/3.1.0-2/modules/highgui/src/window_gtk.cpp:379: error: ‘gtk_widget_get_realized’ was not declared in this scope
make[2]: *** [modules/highgui/CMakeFiles/opencv_highgui.dir/src/window_gtk.cpp.o] Error 1
make[1]: *** [modules/highgui/CMakeFiles/opencv_highgui.dir/all] Error 2
make: *** [all] Error 2

Temos claramente gtk como mostra em cmake :

--   GUI: 
--     QT:                          NO
--     GTK+ 2.x:                    YES (ver 2.18.9)
--     GThread :                    YES (ver 2.22.5)
--     GtkGlExt:                    NO
--     OpenGL support:              NO
--     VTK support:                 NO

Então, não tenho certeza de como corrigir esse problema. Alguém tem alguma ideia?

    
por drjrm3 03.06.2016 / 13:46

2 respostas

1

Eu sei que já faz um tempo, então se isso ajuda:

Eu tive o mesmo erro quando estava compilando o OpenCV 3.1.0 no RHEL. Eu procurei o código em highgui / src / window_gtk.cpp da ramificação OpenCV 2.4.3. Faça o seguinte:

  • Substitua "gtk_widget_set_realized" por "GTK_WIDGET_SET_FLAGS"
  • Substitua "gtk_widget_get_realized" por "GTK_WIDGET_REALIZED"

Depois que eu mudei, funcionou.

    
por 10.02.2017 / 04:44
0

Tente instalar a versão mais recente do gcc

sudo add-apt-repository ppa:ubuntu-toolchain-r/test sudo apt-get update sudo apt-get install gcc-4.9 g++-4.9 sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.9 60 --slave /usr/bin/g++ g++ /usr/bin/g++-4.9

    
por 24.06.2016 / 06:15