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

У меня проблемы с библиотеками 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 добавляет в нашу команду соответствующие библиотеки libs и заголовочные файлы.

Ответы [ 2 ]

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

Я не думаю, что 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 делает это довольно легко, так как имена библиотек соответствуют разделам документации - например, util utils находится в libPocoUtil.so.Если вы также скомпилировали отладочные версии библиотек, они будут заканчиваться на 'd' - например, libPocoUtild.so

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

2 голосов
/ 14 августа 2017

В 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
...