Как включить необходимую библиотеку C с помощью gcc?
Я пытаюсь скомпилировать простой пример C из этого учебник на Ubuntu с помощью gcc. Что я должен использовать в качестве аргумента для gcc, чтобы включить необходимые библиотеки для #include <libappindicator/app-indicator.h>
?
6 ответов
если вы используете apt-get
, Synaptic Package Manager
, etc. чтобы получить appindicator
библиотека (против создания ее из источника), вы только установили libappindicator1
пакет или вы и установить libappindicator-dev
для получения libappindicator
заголовочные файлы? Пакеты Linux очень часто разделяют библиотеки времени выполнения из заголовков времени компиляции. Таким образом, людям, которым нужны только библиотеки для удовлетворения динамической ссылки, не нужно устанавливать ненужные заголовки. Но поскольку вы занимаетесь разработкой, вам нужны эти заголовки и поэтому нужно libappindicator-dev
пакета, а также.
использовать командная строка. Вы можете указать путь поиска библиотеки с помощью . Например:
gcc -o myprogram -lfoo -L/home/me/foo/lib myprogram.c
это ссылка myprogram
со статической библиотекой libfoo.a
в папке /home/me/foo/lib
.
gcc example.c -o example `pkg-config --cflags --libs appindicator-0.1`
pkg-config получит необходимые флаги include и lib для libappindicator
и его зависимости. Это предполагает libappindictaor-dev
пакет уже установлен.
то, что вы пытаетесь сделать здесь, делает приложение gtk, вышеуказанные решения применимы в любом месте например, с помощью опции-l и опции-I,
однако для приложений GTK вы также можете использовать pkg-config, которые упрощают, поскольку ваши пути могут быть предопределены
http://www.freedesktop.org/wiki/Software/pkg-config
интересный пример можно найти здесь http://developer.gnome.org/gtk/2.24/gtk-compiling.html