GTK+-3.0-dev Нет такого файла или каталога при компиляции (Linux Mint/gcc)

Я беру свой первый набег на C/C++/GTK, и у меня возникают проблемы с компиляцией базовой программы GTK+. У меня есть sample.c. Если я попытаюсь скомпилировать его с

$ gcc sample.c -o sample 'pkg-config --cflags --libs gtk+-3.0'

Он жалуется на отсутствие файла или каталога.

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

Для устранения неполадок я попытался:

$ gcc sample.c -o sample

Я получаю gtk/gtk.h Нет такого файла или каталога, очевидно.

Когда я пытаюсь

$ pkg-config --cflags gtk+-3.0

я получил

-pthread -I/usr/include/gtk-3.0 -I/usr/include/atk-1.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/pango-1.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/harfbuzz -I/usr/include/freetype2 -I/usr/include/pixman-1 -I/usr/include/libpng12 

а также

$ pkg-config --libs gtk+-3.0

дает мне это:

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

Я использую свежую установку Mint 15, и у меня есть libgtk-3-dev, установленный через менеджер пакетов, зависимости удовлетворены. Я знаю, что это за основа, но я не могу понять, что мне нужно делать.

РЕДАКТИРОВАТЬ Начиная с вышеприведенного поста, я установил пакет gtk+3.0 (устанавливает кучу других пакетов), и теперь я получаю это:

$ pkg-config --libs gtk+-3.0

-lgtk-3 -lgdk-3 -latk-1.0 -lgio-2.0 -lpangocairo-1.0 -lgdk_pixbuf-2.0 -lcairo-gobject -lpango-1.0 -lcairo -lgobject-2.0 -lglib-2.0

теперь я получаю ошибку

gcc: error: pkg-config --libs --cflags gtk+-3.0: No such file or directory

РЕДАКТИРОВАТЬ 2: после долгого прикручивания, я выполнил эту команду

$ pkg-config --libs --cflags gtk+-3.0

и скопировал вывод в следующую команду:

$ gcc simple.c -o simple {pasted output of successful pkg-config command}

и программа скомпилирована нормально.

$ gcc simple.c -o simple 'pkg-config --libs --cflags gtk+-3.0'

все еще не работает, хотя, я получаю следующую ошибку:

gcc: error: pkg-config --libs --cflags gtk+-3.0: No such file or directory

Решения?

2 ответа

Хорошо, ребята на linuxquestions выправили меня.

`! = '(обратный кавычек не совпадает с одинарной кавычкой)

Я должен был использовать обратные кавычки вместо кавычек, также мог бы использовать $()

$ gcc simple.c -o simple $(pkg-config --args)

Я пойду читать руководство по командной строке...:/

Что касается первой проблемы (почему pkg-config --libs gtk+-3.0) дал мне "пакет gtk+3.0 не найден в пути поиска pkg-config", я думаю, что у меня должна быть установлена ​​только libgtk-3-dev а не установленный gtk+3.0.

все еще не работает, хотя, я получаю следующую ошибку:

gcc: error: pkg-config --libs --cflags gtk+-3.0: No such file or directory

Замените свой

$ gcc simple.c -o simple 'pkg-config --libs --cflags gtk+-3.0'

с

$ gcc simple.c -o simple`pkg-config --libs --cflags gtk+-3.0 `

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