C++11 gtkmm对某些gtk::builder函数的未定义引用从文件添加

C++11 gtkmm对某些gtk::builder函数的未定义引用从文件添加,c++11,compilation,stdstring,gtkmm,gcc5,C++11,Compilation,Stdstring,Gtkmm,Gcc5,我正在使用eclipse、mingw-w64、gtkmm2.4和glade来编译一些简单的程序 我可以编译hello world gtkmm示例,遵循一个教程,但是当谈到glade时,出现了一些奇怪的未定义错误 编译并顺利运行的程序,这是gtkmm 2.24简单示例教程 #包括 #包括 使用名称空间std; int main(int argc,char*argv[]) { Gtk::主套件(argc、argv); Gtk::窗口窗口; Gtk::Main::run(*窗口); 返回0; } 然

我正在使用eclipse、mingw-w64、gtkmm2.4和glade来编译一些简单的程序

我可以编译hello world gtkmm示例,遵循一个教程,但是当谈到glade时,出现了一些奇怪的未定义错误

编译并顺利运行的程序,这是gtkmm 2.24简单示例教程

#包括
#包括
使用名称空间std;
int main(int argc,char*argv[])
{
Gtk::主套件(argc、argv);
Gtk::窗口窗口;
Gtk::Main::run(*窗口);
返回0;
}
然而,当我尝试运行glade章节(24.2.1)中的另一个简单示例时,事情并没有成功

例如:

#包括
#包括
使用名称空间std;
int main(int argc,char*argv[])
{
Gtk::主套件(argc、argv);
//Gtk::Window;//我将其更改为适合glade示例
Gtk::Window*Window;//我更改了示例中的这一行
////////////////这一部分基本上是从示例中复制出来的//////
Glib::RefPtr refBuilder=Gtk::Builder::create();
尝试
{
refBuilder->add_from_file(“something.glade”);//这是有问题的行。
}
catch(const Glib::FileError&ex)
{
似乎解决了这个问题

在开始时放置
#定义_GLIBCXX_使用_cx11_ABI 0
,因为我使用的是gcc 5

#include <gtkmm.h>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{
    Gtk::Main kit(argc, argv);
    Gtk::Window window;
    Gtk::Main::run(*window);
    return 0;
}
#include <gtkmm.h>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{
    Gtk::Main kit(argc, argv);
    //Gtk::Window window; //I changed it to fit with the glade example

    Gtk::Window* window;  //I changed this line from the example

    //////////////// this part was pretty much just copied out from the example//////
    Glib::RefPtr<Gtk::Builder> refBuilder = Gtk::Builder::create();
    try
      {
        refBuilder->add_from_file("something.glade"); //this is the line with problem.
      }
      catch(const Glib::FileError& ex)
      {
        std::cerr << "FileError: " << ex.what() << std::endl;
        return 1;
      }
      catch(const Gtk::BuilderError& ex)
      {
        std::cerr << "BuilderError: " << ex.what() << std::endl;
        return 1;
      }
    refBuilder->get_widget("window1", window);
    //////////////// end of copied out from the example//////

    Gtk::Main::run(*window);
    return 0;
}