Как связать библиотеку (библиотеки) Poco с нашей программой в среде unix

У меня проблемы с библиотеками Poco. Мне нужно простое решение, чтобы упростить компиляцию. Есть ли файл pkg-config для библиотеки Poco, чтобы использовать его в наших make-файлах? Или любое альтернативное решение?

В настоящее время я использую Ubuntu GNU/Linux.

Я пытаюсь использовать библиотеки poco в своем приложении, но не знаю, как связать с ним библиотеки Poco. На самом деле я не знаю, сколько библиотек должно быть связано с приложением. Я хочу знать, есть ли простой способ сделать это, например, используя файлы pkg-config, как мы делаем с gtkmm, например:

g++ prog.cc `pkg-config --gtkmm-2.4 --libs --cflags` -o prog

а программа pkg-config добавляет к нашей команде соответствующие библиотеки и заголовочные файлы.


person sepisoad    schedule 22.03.2010    source источник
comment
У вас проблемы с компиляцией самого Poco или ваших программ с Poco?   -  person Duck    schedule 22.03.2010
comment
Беда с программами с poco.   -  person sepisoad    schedule 27.03.2010
comment
@SepDev - Ты не дал многого для продолжения. Проще чего? Чем вы сейчас занимаетесь? Вы можете повторно отредактировать свой вопрос, чтобы предоставить больше информации.   -  person Duck    schedule 27.03.2010


Ответы (2)


Я не думаю, что Poco поставляется с какими-либо предварительно упакованными файлами «.pc», но вы сможете легко создать свои собственные и вставить их в каталог lib/pkgconfig в вашей системе, если вы предпочитаете этот метод.

Я не знаю точно, где вы установили Poco в своей системе, поэтому вам, возможно, придется выполнить «найти», чтобы найти ваши файлы. Для компиляции вам необходимо указать каталог заголовков poco, каталог библиотек poco и отдельные библиотеки poco. Итак, что-то вроде:

g++ -I<path-to-poco-include-dir> -o prog prog.cpp -L<path-to-poco-lib-dir> -l<some-poco-lib> -l<another-poco-lib> 

Например:

g++ -I/usr/local/Poco/include -o prog prog.cpp -L/usr/local/Poco/lib -lPocoFoundation -lPocoNet  -lPocoNetSSL -lPocoUtil -lPocoXML

Существует около 20 различных файлов poco .so, поэтому вам, очевидно, нужно связать правильные файлы. Poco делает это довольно просто, поскольку имена библиотек соответствуют разделам документации, например. утилита находится в libPocoUtil.so. Если вы также скомпилировали отладочные версии библиотек, они будут заканчиваться на «d» - например. libPocoUtild.so

Опять же, как только вы найдете все свои файлы, вы можете создать свой собственный poco.pc, поскольку у вас должна быть информация, необходимая для его создания.

person Duck    schedule 30.03.2010

В Ubuntu 16.04 вам сначала необходимо установить соответствующие библиотеки Poco, что делается следующим образом:

sudo apt install libpoco-dev

Затем вам нужно будет добавить соответствующие инструкции в компоновщик, это будет зависеть от ваших включений, например, если вы использовали

#include <Poco/Net/MailMessage.h>

Вам понадобятся следующие переключатели:

-lPocoNet -lPocoFoundation

ej:

g++ main.cpp -Wall -std=c++11 -o pocotest -lPocoNet -lPocoFoundation
person dvisor    schedule 14.08.2017