2015-01-13 1 views
0

Я пытаюсь написать приложение с использованием C++. Я решил использовать gtk3 + и расширения gtk opengl. Беллоу команда сборки я бегуПакет gtkglext-1.2.0 не найден в пути поиска pkg-config

gcc -Wall `pkg-config --cflags "gtk+-3.0 gtkglext-1.2.0"` -c -o main.o main.c 

Это создает сильфона Ошибка выхода

Package gtkglext-1.2.0 was not found in the pkg-config search path. 
Perhaps you should add the directory containing `gtkglext-1.2.0.pc' 
to the PKG_CONFIG_PATH environment variable 
No package 'gtkglext-1.2.0' found 

Если вместо того, чтобы использовать gtkglext-1.2.0 я использую gtkglext-1,0, то это вызывает много предупреждений компилятора.

Как правильно настроить pkg-config? Примечание: У меня квас установлен GTK3 + и gtkglext

UPDATE:

howbrew установил gtkglext-1.2.0, но есть только gtkglext-1.0.pc & gtkglext-x11-1.0.pc доступны. Беллоу новая команда сборки

gcc -Wall `pkg-config --cflags "gtk+-3.0 gtkglext-1.0 gtkglext-x11-1.0"` -c -o main.o main.c 

Это вызывает много ошибок компиляции, ниже приведен пример

In file included from main.c:9: In file included from /usr/local/Cellar/gtkglext/1.2.0/include/gtkglext-1.0/gtk/gtkgl.h:22: In file included from /usr/local/Cellar/gtkglext/1.2.0/include/gtkglext-1.0/gdk/gdkgl.h:34: In file included from /usr/local/Cellar/gtkglext/1.2.0/include/gtkglext-1.0/gdk/gdkglpixmap.h:25: In file included from /usr/local/Cellar/gtk+/2.24.25/include/gtk-2.0/gdk/gdkpixmap.h:35: In file included from /usr/local/Cellar/gtk+/2.24.25/include/gtk-2.0/gdk/gdkdrawable.h:35: /usr/local/Cellar/gtk+/2.24.25/include/gtk-2.0/gdk/gdkgc.h:198:23: error: a parameter list without types is only allowed in a function definition GdkColormap *GSEAL (colormap); ^/usr/local/Cellar/gtk+/2.24.25/include/gtk-2.0/gdk/gdkgc.h:198:16: error: duplicate member 'GSEAL' GdkColormap *GSEAL (colormap); ^/usr/local/Cellar/gtk+/2.24.25/include/gtk-2.0/gdk/gdkgc.h:193:8: note: previous declaration is here gint GSEAL (clip_x_origin); ^/usr/local/Cellar/gtk+/2.24.25/include/gtk-2.0/gdk/gdkgc.h:205:27: error: unknown type name 'GdkGC' void (*get_values) (GdkGC
*gc, ^/usr/local/Cellar/gtk+/2.24.25/include/gtk-2.0/gdk/gdkgc.h:207:27: error: unknown type name 'GdkGC' void (*set_values) (GdkGC
*gc, ^/usr/local/Cellar/gtk+/2.24.25/include/gtk-2.0/gdk/gdkgc.h:210:27: error: unknown type name 'GdkGC' void (*set_dashes) (GdkGC
*gc, ^/usr/local/Cellar/gtk+/2.24.25/include/gtk-2.0/gdk/gdkgc.h:225:1: error: unknown type name 'GdkGC' GdkGC *gdk_gc_new
(GdkDrawable *drawable);

ответ

0

Brew является OSX, верно? Я не очень разбираюсь в OSX dev, но, как правило, файлы pkg-config сбрасываются в $ prefix/lib/pkgconfig, где префикс зависит от того, что вы передали скрипту configure, cmake, нашей базовой системе сборки, вопрос использует. Либо вы можете переустановить с другим вариантом префикса или вы можете изменить переменные окружения PKG_CONFIG_PATH при создании вашего приложения, как это:

PKG_CONFIG_PATH=$prefix/lib/pkgconfig:$ PKG_CONFIG_PATH gcc command here

Какой подставляет правильное расположение PKG-конфигурационные файлы в PKG_CONFIG_PATH. Где я не могу сказать вам, как я знаю, не варить и OSX, но как только вы обнаружите, что вы золотые. Файлы должны быть названы gtk + -3.0.pc и gtkglext-1.2.0.pc соответственно.

+0

Я искал и не мог найти gtkglext-1.2.0.pc или gtk + -3.0.pc – lufthansa747

+0

Google сообщает мне, что homebrew устанавливается в свою собственную папку, а затем символически ссылается на/usr/local, поэтому проверьте там каталог lib/pkgconfig который должен содержать соответствующие файлы. – ntzrmtthihu777

+0

Также вы уверены, что это имена? Какая версия этих libs была установлена ​​homebrew? Также Google говорит, что каталог/usr/local/Cellar также должен существовать ... были ли я на Linux с этой проблемой, я бы использовал команду locate (из пакета mlocate), чтобы найти каталог, в который нужно искать. Не уверен, что у доморощенного есть это, но если это поможет, это может помочь. Также 'which ' где - это программа homebrew, которую вы установили, должна указывать на вас в хорошем направлении. – ntzrmtthihu777