2012-01-16 14 views
19

का उपयोग करके मैं कुछ घंटे के लिए C++ में LibCURL का उपयोग करने का प्रयास कर रहा हूं, और यह वास्तव में मेरे नसों पर हो रहा है। मुझे एहसास है कि किसी और को इससे पहले कोई समस्या है, लेकिन मुझे नहीं मिला है और पोस्ट जिन्होंने मुझे समाधान दिया है।LibCURL C++

यह मैं क्या किया है है:

के बाद से libCurl download page तो भ्रामक है, मैं पोस्टिंग कर रहा हूँ मैं वास्तव में क्या किया है। सबसे पहले, मैंने शीर्ष पर फ़ाइल डाउनलोड की (curl-7.23.1.zip), और फिर इसे winRAR में खोला। मैं फिर फ़ोल्डर शामिल गया, और फिर वहां से 'कर्ल' फ़ोल्डर निकाला।

enter image description here

मैं तो कोड :: ब्लाकों के साथ एक नई परियोजना बनाई, और उसके बाद अपने प्रोजेक्ट को उसी फ़ोल्डर में 'कर्ल' फ़ोल्डर में ले जाया गया।

enter image description here

मैं तो मेरे फ़ाइल के शीर्ष पर '#include "कर्ल/curl.h"' जोड़ें और फिर कोशिश करते हैं और एक सरल कर्ल वर प्रारंभ ... मैं तो कोई त्रुटि मिलती है, कह रही:

...\main.cpp|22|undefined reference to `_imp__curl_easy_init'| 

यहाँ वास्तविक कोड/त्रुटि की एक तस्वीर है: enter image description here

सच में, मुझे लगता है कि यह बहुत बहुत बेवकूफ है कि मैं कर रहा हूँ कुछ है, लेकिन मैं अभी क्या करना है पता नहीं है।

+0

मुझे अभी भी यह काम करने के लिए नहीं मिला है। क्या किसी के पास कोई अन्य सुझाव है? एक बार फिर धन्यवाद। – hetelek

उत्तर

9

अंत में मदद

यहाँ से कुछ के साथ काम करने के लिए मिल गया है मैं इसे कैसे किया:

  1. डाउनलोड 'Win32 जेनेरिक' libcurl पैकेज। (7.24.0)
  2. कोड :: ब्लॉक में, अपनी परियोजना पर राइट क्लिक करें और बिल्ड विकल्प खोलें।
  3. 'लिंकर सेटिंग्स' पर जाएं और 'लिंक लाइब्रेरीज़' सूची बॉक्स में 'curldll' जोड़ें। (image)
  4. 'खोज निर्देशिका' पर जाएं और 'कंपाइलर' के तहत इसे अपने 'curl-7.24.0-devel-mingw32 \ include' फ़ोल्डर के पथ से लिंक करें।
  5. 'खोज निर्देशिका' के अंतर्गत 'लिंकर' टैब पर जाएं, और अपनी 'curl-7.24.0-devel-mingw32 \ lib' निर्देशिका का पथ जोड़ें।
  6. सभी डीएलएल को अपने 'curl-7.24.0-devel-mingw32 \ bin' फ़ोल्डर से अपनी परियोजनाओं 'बिन' फ़ोल्डर में ले जाएं।
  7. बिल्ड और आनंद

क्यूटी साथ libCurl का उपयोग करने के लिए, यह थोड़ा आसान है।

  1. सभी आवश्यक फ़ाइलों/डीएलएस/पुस्तकालयों को अपने डीबग फ़ोल्डर में ले जाएं। सुनिश्चित करें कि आप 'कर्ल' फ़ोल्डर शामिल हैं।
  2. अपनी .pro फ़ाइल पर जाएं, और 'libcurldll.a' फ़ाइल का स्थान जोड़ें।

    LIBS + = C: उदाहरण (मेरा) के लिए \ libcurl \ 7.24.0 \ lib \ libcurldll.a

  3. का आनंद लें।

धन्यवाद R. Martinho Fernandes!

2

आपको libcurl से lib/ फ़ोल्डर भी शामिल करना होगा, जिसमें *.a या *.dll फ़ाइलें शामिल हैं। थीस फाइलें लाइब्रेरी हैं, संकलित बाइनरी जिस पर आप अपने प्रोग्राम को लिंक करते हैं।

आप पुस्तकालय गतिशील लिंक हैं, तो आप C:\Windows में या C:\MinGW\bin में अपनी परियोजना निर्देशिका में *.dll डाल करने के लिए, की आवश्यकता होगी (यदि C: \ MinGW संकलक पथ है)।

+0

क्या आप संभवतः कुछ और बता सकते हैं कि मैं क्या करूँगा? * .dll द्वारा, क्या आप 'libcurl.dll' का जिक्र कर रहे हैं? एक बार फिर धन्यवाद। – hetelek

+0

हां, libcurl.dll और कोई भी अन्य डीएल जो आपको आपके डाउनलोड में मिल सकता है। आपको बाइनरी निकालने और उसे उस स्थान पर रखने की आवश्यकता है जहां आपका ओएस इसे वापस लाएगा। डीएल के खिलाफ स्थैतिक रूप से लिंक करने के लिए, इसे $ COMPILER_PATH \ lib में रखा जाना चाहिए, जहां $ COMPILER_PATH आमतौर पर सी: बी Min12W सी :: बी – Geoffroy

0

"सबसे पहले, मैंने शीर्ष पर फ़ाइल डाउनलोड की (curl-7.23.1.zip), और फिर इसे WinRAR में खोला। फिर मैं फ़ोल्डर को शामिल कर गया, और फिर वहां से 'कर्ल' फ़ोल्डर निकाला । "

ऐसा लगता है जैसे आपने कर्ल के लिए स्रोत कोड संकलित नहीं किया था। पृष्ठ के शीर्ष पर सभी डाउनलोड केवल स्रोत हैं।

+0

के साथ libcurl संकलित नहीं किया गया है। मैं समझता हूं कि उनका प्रश्न उनकी परियोजना में संकलन त्रुटियों के बारे में है। वे इसलिए कारण थे क्योंकि वह उन चीजों को शामिल करने की कोशिश कर रहा है जो अभी तक मौजूद नहीं हैं। (कम से कम, यह मेरे जैसा दिखता है।) –

संबंधित मुद्दे