2016-01-01 3 views
0

GtkGlArea указан в the Widget Gallery Gtk + 3.0. Для этого есть official documentation, в котором говорится, что я должен включить только gtk/gtk.h, чтобы использовать нужный виджет.GtkGlArea in Gtk + 3.0: undefined reference

Но я не могу найти ссылки OpenGl среди заголовочных файлов пакета gtk + -3.0. И, конечно же, я не могу назвать какие-либо из функций gtk_gl_area_*, не наткнувшись на ошибку undefined reference.

Недоступен ли GtkGlArea в Gtk + 3.0? Если да, то почему он представлен на официальном сайте?

Если это доступно, как я могу использовать его в своем проекте C?

ответ

2

GtkGLArea был добавлен в GTK + 3.16. Если вы посмотрите на the documentation page for GtkGLArea, вы увидите

С: 3,16

под gtk_gl_area_new().

Если вы используете GTK + 3.14 или ниже, у вас нет доступа к GtkGLArea. В вашем дистрибутиве можно узнать, какая версия установлена. Если ваша дистрибутива предлагает более новую версию, вам необходимо ее установить. (Текущая версия по состоянию на момент написания этой статьи GTK + 3,18.)

Если вы не имеете GTK + 3.16 или новее, и должны остаться с версией дистрибутива, который вы используете, у вас есть несколько вариантов:

  • найти чужой виджет OpenGL; here's oneand here's another
  • использование jhbuild установить локальную версию новой GTK + версии и использовать его для разработки
  • использовать виртуальную машину с более новым дистрибутивом для разработки

EDIT: Вы также можете посмотреть документацию для конкретной версии GTK + вам нужно настроить таргетинг, выбрав версию от this list. (То же самое относится к другим наборам документации на developer.gnome.org.) Если обратная совместимость - это ваша вещь, вы также должны посмотреть на the GDK_VERSION_MIN_REQUIRED and GDK_VERSION_MAX_ALLOWED macros.

+0

Спасибо! У меня есть 3.14, установленный в моей системе. – bgeyts668