Как связать библиотеку pnglite в c? - PullRequest
0 голосов
/ 30 марта 2010

Я установил из управления пакетами kubuntu эту удобную библиотеку pnglite.Он содержит только один заголовочный файл "pnglite.h" и один объектный файл "pnglite.o".Я выяснил, где находятся эти файлы, но я не знаю, как их связать.Я использую NetBeans, но не знаю, как связать их там.Также я не понимаю, как связать их в консоли.

У меня есть небольшая тестовая программа, которую я хотел бы протестировать, но я получаю сообщение об ошибке «неопределенная ссылка на функцию: XXXXXXX».И netbeans, и в консоли я использую gcc.Этот заголовочный файл находится в каталоге / usr / include, объектный файл находится в каталоге / usr / lib, а моя тестовая программа находится в моем программном каталоге в моем домашнем каталоге.

Должен ли я поместить этот заголовок и объект в тот же каталог, где находится мой источник?Или есть способ связать их с их текущего местоположения?Я знаю, что должна быть возможность связать их с того места, где они находятся в данный момент, и я хотел бы знать и понимать, как это сделать.

Любая помощь будет оценена по достоинству:)

1 Ответ

2 голосов
/ 30 марта 2010

Вам просто нужно добавить /usr/lib/pnglite.o к вашему ссылочному вызову gcc, плюс любые общие библиотеки, которые требуются pnglite (из вашего комментария, по-видимому, требуется zlib). Например, если ваш источник в myapp1.c и myapp2.c, то:

gcc -c myapp1.c
gcc -c myapp2.c
gcc -o myapp myapp1.o myapp2.o /usr/lib/pnglite.o -lz
...