Как включить необходимую библиотеку C, используя gcc? - PullRequest
11 голосов
/ 16 мая 2011

Я пытаюсь скомпилировать простой пример C из этого Tutorial в Ubuntu, используя gcc. Что я должен использовать в качестве аргумента для gcc, чтобы включить необходимые библиотеки для #include <libappindicator/app-indicator.h>?

Ответы [ 6 ]

52 голосов
/ 16 мая 2011
-I <searchpath to include files>
-L <searchpath to the lib file>
-l<thelibname>
13 голосов
/ 16 мая 2011

Используйте параметр командной строки -l. Вы можете указать путь поиска библиотеки с параметром -L. Например:

gcc -o myprogram -lfoo -L/home/me/foo/lib myprogram.c

Это свяжет myprogram со статической библиотекой libfoo.a в папке /home/me/foo/lib.

5 голосов
/ 02 октября 2012
gcc example.c -o example  `pkg-config --cflags --libs appindicator-0.1`

pkg-config извлечет необходимые флаги include и lib для libappindicator и его зависимостей.Предполагается, что пакет libappindictaor-dev уже установлен.

5 голосов
/ 16 мая 2011

Если вы использовали apt-get, Synaptic Package Manager и т. Д., Чтобы получить библиотеку appindicator (по сравнению со сборкой из исходного кода), вы устанавливали только пакет libappindicator1 или также установить libappindicator-dev, чтобы получить заголовочные файлы libappindicator? Пакеты Linux очень часто отделяют библиотеки времени выполнения от заголовков времени компиляции. Таким образом, людям, которым библиотеки нужны только для динамического соединения, не нужно устанавливать ненужные заголовки. Но поскольку вы занимаетесь разработкой, вам нужны эти заголовки и, следовательно, также необходим пакет libappindicator-dev.

4 голосов
/ 06 сентября 2011

Что я делаю:

pkg-config --list-all | grep indicator
1 голос
/ 16 мая 2011

То, что вы пытаетесь сделать здесь, - это создание gtk-приложения. Приведенные выше решения применимы везде например, использовать опцию -l и -I,

Однако для приложений GTK вы также можете использовать pkg-config, что упрощает задачу, поскольку ваши пути могут быть предварительно определены

http://www.freedesktop.org/wiki/Software/pkg-config

Интересный пример можно найти здесь http://developer.gnome.org/gtk/2.24/gtk-compiling.html

...