Как решить «gdk-pixbuf / gdk-pixbuf.h: нет такого файла или каталога»

Я пытаюсь скомпилировать источник хрома в Ubuntu 10.10. Но я получаю эту ошибку "gdk-pixbuf / gdk-pixbuf.h: нет такого файла или каталога". Подскажите, пожалуйста, как мне это исправить? У меня есть файл /usr/include/gtk-2.0/gdk/gdkpixbuf.h, так что у меня должен быть пакет gdkpixbuf, верно? (поскольку сказано «/usr/include/gtk-2.0/gdk/gdkpixbuf.h:37: фатальная ошибка: gdk-pixbuf / gdk-pixbuf.h: такого файла или каталога нет»

$ make out/Debug/chrome
  CXX(target) out/Debug/obj.target/app_base/app/active_window_watcher_x.o
In file included from /usr/include/gtk-2.0/gdk/gdkcairo.h:28,
                 from /usr/include/gtk-2.0/gdk/gdk.h:33,
                 from app/active_window_watcher_x.cc:6:
/usr/include/gtk-2.0/gdk/gdkpixbuf.h:37: fatal error: gdk-pixbuf/gdk-pixbuf.h: No such file or directory
compilation terminated.
make: *** [out/Debug/obj.target/app_base/app/active_window_watcher_x.o] Error 1
6
задан 18 January 2011 в 13:25

7 ответов

Из GTK + Reference Manual вы должны указать компилятору, где искать заголовочные файлы и библиотеки GTK +. Это делается с помощью утилиты pkg-config.

$ pkg-config --cflags gtk+-2.0

Или использовать функцию «backticks» оболочки.

$ cc `pkg-config --cflags --libs gtk+-2.0` hello.c -o hello
0
ответ дан 18 January 2011 в 13:25

Здесь также есть общий ответ «научить человека ловить рыбу…»:

Установите пакет apt-file и используйте его для поиска пакета, содержащего нужный вам файл. В этом случае вы получите:


└─(14:36:%)── apt-file search gdk-pixbuf/gdk-pixbuf.h
libgdk-pixbuf2.0-dev: /usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf.h
libgfcui-dev: /usr/include/gfc-2.0/gfc/gdk-pixbuf/gdk-pixbuf.hh
lsb-build-desktop3: /usr/include/lsb3/gtk-2.0/gdk-pixbuf/gdk-pixbuf.h

, который (неожиданно) вернул более одного результата. libgdk-pixbuf2.0-dev это пакет, который вы ищете.

0
ответ дан 18 January 2011 в 13:25

Я имею оба из, установленных пакетов, на которые ссылаются и имел подобные проблемы. В 10,10 кажется, что gdk-pixbuf включает, хранятся в их собственном каталоге прочь/usr/include, тогда как в предыдущих версиях они были смешаны в с gtk-2.0. Если Вы установили libgtk2.0-dev и libgdk-pixbuf2.0-dev затем необходимо будет выполниться:

sudo ln -s /usr/include/gdk-pixbuf-2.0/gdk-pixbuf /usr/include/gtk-2.0/gdk-pixbuf

Это создаст символьную ссылку на новый gdk-pixbuf каталог, где он был расположен ранее.

6
ответ дан 18 January 2011 в 13:25

Установить libgtk2.0-dev.

0
ответ дан 18 January 2011 в 13:25

Скопируйте папку gdk-pixbuf из /usr/include/gdk-pixbuf-2.0 в /usr/include/gtk-2.0. Это помогло мне.

0
ответ дан 18 January 2011 в 13:25

У вас есть gdkpixbuf.h, который отличается от gdk-pixbuf.h. Обратите внимание на тире, это два разных файла.

greyfade, вероятно, правильно, если вам нужен этот пакет, о котором упоминает greyfade, вам, вероятно, следует также установить libgdk-pixbuf2.0-dev, поскольку gdk-pixbuf.h находится в пакете libgdk-pixbuf2.0-dev.

Выполнение «aptitude build-dep chromium-browser» должно загрузить все пакеты разработки, которые вам необходимы, чтобы вручную установить исходный пакет chromium-browser для 10.10. Это должно помочь, даже если вы вытаскиваете прямо из самого хрома - вам все равно понадобятся эти файлы разработки.

0
ответ дан 18 January 2011 в 13:25

Конечно, сначала установите libgdk-pixbuf2.0-dev:

sudo apt-get install libgdk-pixbuf2.0-dev

Затем:

sudo ln -s /usr/include/gdk-pixbuf-2.0/gdk-pixbuf /usr/include/gtk-2.0/gdk-pixbuf
0
ответ дан 18 January 2011 в 13:25

Другие вопросы по тегам:

Похожие вопросы: