2010-03-22 6 views
9

मुझे पोको पुस्तकालयों में समस्या हो रही है। संकलन को आसान बनाने के लिए मुझे एक सरल समाधान की आवश्यकता है। क्या पॉको लाइब्रेरी के लिए हमारी मेक फाइलों में इसका उपयोग करने के लिए pkg-config फ़ाइल है? या कोई वैकल्पिक समाधान?यूनिक्स पर्यावरण में हमारे प्रोग्राम में पॉको लाइब्रेरी (पुस्तकालय) को कैसे लिंक करें

वर्तमान में मैं उबंटू जीएनयू/लिनक्स का उपयोग करता हूं।

मैं अपने ऐप में पॉको पुस्तकालयों का उपयोग करने की कोशिश कर रहा हूं, लेकिन मुझे नहीं पता कि पॉको पुस्तकालयों को कैसे लिंक करें। असल में मुझे नहीं पता कि ऐप के खिलाफ कितने पुस्तकालयों को जोड़ा जाना चाहिए। मैं, अगर वहाँ इस तरह के pkg-config फ़ाइलों का उपयोग कर के रूप में यह करने के लिए, एक आसान तरीका है जानना चाहता हूँ के रूप में हम, gtkmm के साथ क्या उदाहरण के लिए:

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

और pkg-config कार्यक्रम ने हमारे आदेश का उचित libs और हेडर फाइल संलग्न कर देता है।

+0

क्या आपको पोको स्वयं या आपके कार्यक्रमों को पोको के साथ संकलित करने में समस्याएं हैं? – Duck

+0

पॉको के साथ प्रोग्राम के साथ समस्या। – sepisoad

+0

@ सेपडेव - आपने आगे बढ़ने के लिए बहुत कुछ नहीं दिया है। क्या से सरल है? आप वर्तमान में क्या कर रहे हैं अधिक जानकारी प्रदान करने के लिए आप अपने प्रश्न को दोबारा संपादित कर सकते हैं। – Duck

उत्तर

12

मुझे नहीं लगता कि पोको किसी भी पूर्व-पैक ".pc" फ़ाइलों के साथ आता है लेकिन यदि आप उस विधि को पसंद करते हैं तो आपको अपने सिस्टम पर lib/pkgconfig निर्देशिका में आसानी से बनाने और उन्हें चिपकाने में सक्षम होना चाहिए।

मुझे नहीं पता कि आपने अपने सिस्टम पर पॉको इंस्टॉल किया है, इसलिए आपको अपनी फ़ाइलों का पता लगाने के लिए "ढूंढें" करना पड़ सकता है। संकलित करने के लिए आपको पॉको हेडर निर्देशिका, पॉको लाइब्रेरी निर्देशिका, और व्यक्तिगत पॉको पुस्तकालयों को निर्दिष्ट करने की आवश्यकता है। तो कुछ की तरह:

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 या अलग पोको .so फ़ाइलों ताकि आप स्पष्ट रूप से उचित लोगों को लिंक करने की आवश्यकता है। पॉको यह बहुत आसान बनाता है क्योंकि पुस्तकालय के नाम प्रलेखन खंडों के अनुरूप हैं - उदा। उपयोग सामग्री libPocoUtil.so में है। यदि आपने पुस्तकालयों के डीबग संस्करणों को भी संकलित किया है तो वे 'डी' में समाप्त होंगे - उदा। libPocoUtild.so

फिर, एक बार जब आप अपनी सभी फाइलों को ढूंढ लेते हैं तो आप अपना खुद का poco.pc बनाना पसंद कर सकते हैं क्योंकि आपके पास इसे बनाने के लिए आवश्यक जानकारी होनी चाहिए।

0

ubuntu 16.04 पर आप पहले तदनुसार पोको पुस्तकालयों इंस्टॉल करने होंगे, कि इस प्रकार से किया जाता है:

sudo apt install libpoco-dev 

तो फिर तुम लिंकर को समुचित निर्देश जोड़ने की आवश्यकता होगी, यह इस पर निर्भर करेगा आप उदाहरण के लिए भी शामिल है, यदि आप

#include <Poco/Net/MailMessage.h> 

इस्तेमाल किया करते समय निम्न स्विच की आवश्यकता होगी:

-lPocoNet -lPocoFoundation 

ईजे:

g++ main.cpp -Wall -std=c++11 -o pocotest -lPocoNet -lPocoFoundation 
संबंधित मुद्दे