C - Как использовать библиотеку API в Linux - PullRequest
0 голосов
/ 13 ноября 2011

Я действительно безнадежен, когда речь идет о Unix-подобных системах.Я пытался загрузить открытую библиотеку в свою систему Ubuntu, чтобы я мог использовать ее функции в своем собственном C-коде.Однако теперь, когда я скачал библиотеку, в ней появилось намного больше, чем просто файлы .c и .h.В нем есть файлы, такие как Makefile.am, Makefile.in, и папки, такие как build and configure, и сейчас я пытаюсь выяснить, что делать со всем этим.

Что такое «нормальный» способвключать и использовать другие библиотеки в ваших собственных программах?

Должен ли я теперь использовать команду make для создания какого-либо архивного файла .a, используемого при компиляции моей собственной программы?- что-то вроде этого:

gcc myProgram.c theLibrary.a -o myProgram

или команда make только сделает исполняемый файл из всего и не включит мой кодвообще?

Я уже пытался игнорировать другие файлы и просто скопировал файлы .c и .h, необходимые для моего проекта.Однако во время компиляции gcc пожаловался, что не может найти какой-либо файл config.h, который входит в один из .c файлов в библиотеке.Я искал всю библиотеку, и такого файла нигде не было.

Я сейчас очень потерян и не знаю, что искать в Google.Если бы кто-то мог просто указать мне правильное направление, я был бы очень благодарен.

Если это вообще имеет значение, библиотека, которую я пытаюсь использовать, - это libmpdclient.

Ответы [ 2 ]

4 голосов
/ 13 ноября 2011

Обычно, когда вы загружаете программу linux (или разделяемую библиотеку, или ...), вы получаете исходный код и должны собирать его самостоятельно.Обычно все, что вы делаете, это следующие три вещи:

./configure
make
make install

(для make install могут потребоваться права суперпользователя).

В случае разделяемой библиотеки, предположительно, теперь разделяемая библиотекафайл устанавливается в ваш каталог /usr/lib (или /usr/local/lib или любой другой), так что вы можете связать его при компиляции программ, выполнив -l libname в командной строке с gcc.

4 голосов
/ 13 ноября 2011

Есть ли файл README или INSTALL в каталоге верхнего уровня библиотеки, которую вы скачали? Если да, посмотри туда.

Типичная процедура сводится к выполнению ./configure, затем make, а затем, необязательно, make install, но библиотека может иметь зависимости или другие проблемы, о которых вы узнаете в упомянутых выше файлах.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...