首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >gtkmm3示例未编译(未定义引用)

gtkmm3示例未编译(未定义引用)
EN

Stack Overflow用户
提问于 2015-04-18 20:20:58
回答 1查看 802关注 0票数 1

我正在尝试编译以下示例

代码语言:javascript
复制
#include <gtkmm.h>

int main(int argc, char *argv[])
{
  Glib::RefPtr<Gtk::Application> app =
    Gtk::Application::create(argc, argv,
      "org.gtkmm.examples.base");

  Gtk::Window window;
  window.set_default_size(200, 200);

  return app->run(window);
}

我使用以下命令:g++ ./gtk.cpp -o ./gtk -Wall pkg-config gtkmm-3.0 --cflags --libs并获得以下错误消息:/usr/local/lib/libatk-1.0.so: undefined reference to 'g_type_check_instance_is_fundamentally_a' collect2: error: ld returned 1 exit status --如何修复它?

EN

回答 1

Stack Overflow用户

发布于 2015-04-19 11:22:40

用这个:

代码语言:javascript
复制
g++ ./gtk.cpp -o ./gtk -Wall `pkg-config gtkmm-3.0 --cflags --libs`

您需要在pkg-config命令之前和后面添加‘。

pkg为编译器提供标志,它们必须作为编译器参数传递( pkg-config的输出,但不是相同的pkg-config命令)。

字符导致pkg-config命令输出作为参数添加到编译器中。

您可以使用echo简单地可视化这种差异:

代码语言:javascript
复制
$ echo pkg-config gtkmm-3.0 --cflags --libs
pkg-config gtkmm-3.0 --cflags --libs

$ echo `pkg-config gtkmm-3.0 --cflags --libs`
-pthread -I/usr/include/gtkmm-3.0 -I/usr/lib/x86_64-linux-gnu/gtkmm-3.0/include -I/usr/include/giomm-2.4 -I/usr/lib/x86_64-linux-gnu/giomm-2.4/include -I/usr/include/gtk-3.0 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/gtk-3.0/unix-print -I/usr/include/gdkmm-3.0 -I/usr/lib/x86_64-linux-gnu/gdkmm-3.0/include -I/usr/include/atk-1.0 -I/usr/include/glibmm-2.4 -I/usr/lib/x86_64-linux-gnu/glibmm-2.4/include -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/sigc++-2.0 -I/usr/lib/x86_64-linux-gnu/sigc++-2.0/include -I/usr/include/pango-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/gio-unix-2.0/ -I/usr/include/atkmm-1.6 -I/usr/include/pangomm-1.4 -I/usr/lib/pangomm-1.4/include -I/usr/include/cairomm-1.0 -I/usr/lib/cairomm-1.0/include -lgtkmm-3.0 -latkmm-1.6 -lgdkmm-3.0 -lgiomm-2.4 -lpangomm-1.4 -lgtk-3 -lglibmm-2.4 -lcairomm-1.0 -lgdk-3 -latk-1.0 -lgio-2.0 -lpangocairo-1.0 -lgdk_pixbuf-2.0 -lcairo-gobject -lpango-1.0 -lcairo -lsigc-2.0 -lgobject-2.0 -lglib-2.0
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29722380

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档