C++ Gtk:错误断言失败:accel_entry_ht==NULL

C++ Gtk:错误断言失败:accel_entry_ht==NULL,c++,opencv,gtk,C++,Opencv,Gtk,编辑:将问题缩小到(在处失败) 基本上,我试图在我的文件中包含opencv代码片段,如下所示 #include <opencv2/core/core.hpp> #include <opencv2/highgui/highgui.hpp> #include "opencv2/imgproc/imgproc.hpp" #include <iostream> #include "someFile.h" //using namespace cv; using na

编辑:将问题缩小到(在处失败)

基本上,我试图在我的文件中包含opencv代码片段,如下所示

#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include "opencv2/imgproc/imgproc.hpp"
#include <iostream>
#include "someFile.h"


//using namespace cv;
using namespace std;
int helloWorld(){
  printf("hello from CPP");

  cv::Mat image1, image2, dst;
  image1 = cv::imread("/home/gabriel/pics/opencv-logo.jpg", CV_LOAD_IMAGE_COLOR);
  if ( !image1.data){ 
    printf("Error loading image1 \n"); 
    return -1;}

  image2 = cv::imread("/home/gabriel/pics/opencv-test.png", CV_LOAD_IMAGE_COLOR);
  if ( !image1.data){ 
    printf("Error loading image2 \n"); 
    return -1;}

   //add( image1, image2, dst);
   // dst = image1 + image2
    cv::namedWindow( "Display window", CV_WINDOW_AUTOSIZE );
    cv::imshow( "Display window", image2 );

    cv::namedWindow(" Display window ", CV_WINDOW_AUTOSIZE );
    cv::imshow( "Display window", image1 );

    //namedWindow(" Display window ", CV_WINDOW_AUTOSIZE );
    //imshow( "Display window", dst );

    cv::waitKey(0);
    return 0;
}

找不到有关此错误的更多信息,希望看到失败的地方。helloWorld()函数失败(当函数被注释掉时,代码运行平稳)

我不确定是什么原因导致该错误发生,但在更高版本中,该点似乎是在某个时候更新的:


gtk-3-4看起来像是第一个有这种变化的版本:

ran
dpkg-l libgtk2.0-0 libgtk-3-0
,似乎在3.22.30版上运行。这是否意味着我应该尝试将我的更新为gtk-3-4?如果错误仍然发生在您身上,如果您有上述更改,它可能会消失。我自己没有试过。是的,我仍然有那个错误。我该如何更新我的gtk版本?将这些图片添加到一起可能会有问题。升级可能会掩盖问题。请在AddWeight上查看此链接
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include "opencv2/imgproc/imgproc.hpp"
#include <iostream>
#include "someFile.h"


//using namespace cv;
using namespace std;
int helloWorld(){
  printf("hello from CPP");

  cv::Mat image1, image2, dst;
  image1 = cv::imread("/home/gabriel/pics/opencv-logo.jpg", CV_LOAD_IMAGE_COLOR);
  if ( !image1.data){ 
    printf("Error loading image1 \n"); 
    return -1;}

  image2 = cv::imread("/home/gabriel/pics/opencv-test.png", CV_LOAD_IMAGE_COLOR);
  if ( !image1.data){ 
    printf("Error loading image2 \n"); 
    return -1;}

   //add( image1, image2, dst);
   // dst = image1 + image2
    cv::namedWindow( "Display window", CV_WINDOW_AUTOSIZE );
    cv::imshow( "Display window", image2 );

    cv::namedWindow(" Display window ", CV_WINDOW_AUTOSIZE );
    cv::imshow( "Display window", image1 );

    //namedWindow(" Display window ", CV_WINDOW_AUTOSIZE );
    //imshow( "Display window", dst );

    cv::waitKey(0);
    return 0;
}
**
Gtk:ERROR:/build/gtk+2.0-XBK2Qt/gtk+2.0-2.24.32/gtk/gtkaccelmap.c:113:_gtk_accel_map_init: assertion failed: (accel_entry_ht == NULL)
**
Gtk:ERROR:/build/gtk+2.0-XBK2Qt/gtk+2.0-2.24.32/gtk/gtkaccelmap.c:113:_gtk_accel_map_init: assertion failed: (accel_entry_ht == NULL)
**
Gtk:ERROR:/build/gtk+2.0-XBK2Qt/gtk+2.0-2.24.32/gtk/gtkaccelmap.c:113:_gtk_accel_map_init: assertion failed: (accel_entry_ht == NULL)
Aborted (core dumped)