2010-03-22 16 views
9

Ho problemi con le librerie Poco. Ho bisogno di una soluzione semplice per semplificare la compilazione. C'è qualche file pkg-config per la libreria Poco per usarlo nei nostri file make? O qualsiasi soluzione alternativa?Come collegare la libreria Poco (librerie) al nostro programma in ambiente UNIX

Attualmente uso Ubuntu GNU/Linux.

Sto provando ad usare librerie poco nella mia app, ma non so come collegare le librerie Poco ad esso. In effetti non so quante librerie dovrebbero essere collegate all'app. Voglio sapere se c'è un modo semplice per farlo, come l'utilizzo di pkg-config file, come facciamo con gtkmm, ad esempio:

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

e il programma pkg-config aggiunge librerie ei file header appropriato per il nostro comando.

+0

Hai problemi con la compilazione di Poco stesso o dei tuoi programmi con Poco? – Duck

+0

Problemi con programmi con poco. – sepisoad

+0

@SepDev - Non hai dato molto da fare. Più semplice di cosa? Cosa stai facendo al momento? Puoi modificare nuovamente la tua domanda per fornire ulteriori informazioni. – Duck

risposta

12

Non penso che Poco venga fornito con alcun file ".pc" preconfezionato, ma dovresti essere in grado di crearlo facilmente e incollarlo nella directory lib/pkgconfig sul tuo sistema se preferisci questo metodo.

Non so esattamente dove hai installato Poco sul tuo sistema, quindi potresti dover fare una "ricerca" per localizzare i tuoi file. Per compilare è necessario specificare la directory dell'intestazione poco, la directory della libreria poco e le singole librerie. Quindi, qualcosa di simile a:

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> 

Ad esempio:

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

Ci sono 20 o giù di lì i file diverso Poco .so quindi è ovviamente necessario collegare quelli appropriati. Poco rende questo abbastanza facile poiché i nomi delle librerie sono conformi alle sezioni della documentazione - ad es. le cose utili sono in libPocoUtil.so. Se hai compilato anche le versioni di debug delle librerie, terminano in "d", ad es. libPocoUtild.so

Ancora una volta, una volta individuati tutti i file, è preferibile creare il proprio poco.pc in quanto si dovrebbero avere le informazioni necessarie per crearlo.

0

su Ubuntu 16.04 devi prima di installare le librerie Poco conseguenza, ciò che si fa nel modo seguente:

sudo apt install libpoco-dev 

allora avrete bisogno di aggiungere le istruzioni corrette per il linker, esso dipenderà dalla include avete, per esempio se si è utilizzato

#include <Poco/Net/MailMessage.h> 

Hai bisogno dei seguenti parametri:

-lPocoNet -lPocoFoundation 

ej:

g++ main.cpp -Wall -std=c++11 -o pocotest -lPocoNet -lPocoFoundation