2015-05-17 6 views
5

तो मैं एक बहुत अच्छा पुस्तकालय के रूप में cURL और OSX में बहुत ठीक काम कर रहा साथ साथ आया था है। लेकिन विंडोज़ पर अब मुझे इस पुस्तकालय के साथ तैयार होने में बड़ी परेशानी हुई है। मैं अब लगभग 2 दिनों तक गुग हो गया और इसे तैयार करने के लिए एक दर्जन से अधिक (विस्तार से) विभिन्न तरीकों से कोशिश की। किसी भी सफलता के बिना।cURL 2013

  1. प्रत्यक्ष डाउनलोड: समस्या यहाँ पहले से ही सही डाउनलोड के साथ शुरू होता है

    यहां दी गई कुछ मैं मूल रूप से करने की कोशिश की है। आधिकारिक डाउनलोड पेज बहुत भ्रमित है, इसलिए मैंने इसे "कर्ल डाउनलोड विज़ार्ड"> "libcurl विकास" माना जो मुझे एक संस्करण देता है, कि मुझे किसी भी प्रोजेक्ट में शामिल करने में सक्षम होना चाहिए। लेकिन इसे कैसे शामिल करना है? वहां किसी भी निर्देश में यह मुझे उन निर्देशिकाओं तक ले जाता है जो मेरे पास नहीं हैं। लगभग हमेशा "curllib.lib" का उल्लेख किया गया है। मैंने उस डाउनलोड पेज पर लगभग 6 अलग-अलग संस्करण डाउनलोड किए हैं, उनमें से कोई भी इस फ़ाइल में नहीं है। (उदाहरण के this शिक्षा के लिए देखें)

  2. Git + CMake: aboves पर एक समाधान कड़ी के रूप में इस पर Git क्लोन का उपयोग करने का सुझाव दिया है। मैंने वहां सभी निर्देश दिए और केवल चेतावनियों के साथ उत्पन्न परियोजनाएं भी प्राप्त कीं। लेकिन यहां यह भी कहता है:
    इंस्टॉल लक्ष्य बनाने के बाद, आपको सी: \ curl.vc12
    में बिन/शामिल/lib फ़ोल्डर्स मिलेंगे, ठीक है, मुझे वास्तव में "लक्ष्य इंस्टॉल करना" का अपना अंक नहीं मिला, मैं जैसा कि आता है बस पूरे प्रोजेक्ट मैप का निर्माण करें। ठीक संकलित (115 सफल, 0 असफल, 2 छोड़ दिया गया)। लेकिन अब सी: \ curl.vc12 वहाँ नहीं है। इसे संकलित करने से पहले मुझे पूर्व-सेटअप करने के लिए क्या करना है?
  3. NuGet: विचार बिंदु (1) में लिंक से आता है, जो NuGet के साथ एक अलग समाधान है।
    Successfully added 'curl 7.30.0.2' to test. के साथ यह भी अच्छा लग रहा था, लेकिन संकलन simple.cunresolved external symbol लिंकर त्रुटियों की एक गुच्छा होता है। लेकिन एक समाधान प्रदान की जाती है:
    यकीन है कि निर्देशिका और lib निर्देशिका में शामिल परियोजना संपत्तियों में विजुअल C++ निर्देशिका के तहत निर्दिष्ट कर रहे हैं।
    तो Project > Properties > VC++ Properties > "Include Directories" और
    Project > Properties > VC++ Properties > "Library Directories"
    के साथ-साथ Project > C/C++ > General > "Additional Include Directories" में में और Project > Linker > General > "Additional Library Directories" में मैं सख्त \ संकुल \ पथ अपने प्रोजेक्ट फ़ोल्डर से जोड़ा। निर्देशों में बताया गया
    रूप में, मैं Project > Linker > Input > "Additional Dependencies" करने के लिए libcurl.lib;libeay32.lib;ssleay32.lib;Ws2_32.lib;libssh2.lib;zlib.lib;wldap32.lib; गयी।
    सब किया, unresolved external symbol त्रुटियों चले गए हैं! इसलिए मुझे cannot open file 'libcurl.lib' कहने में केवल एक त्रुटि मिलती है। यहां मैं क्या कर सकता हूं?

मैं उन सभी के लिए बिल्कुल नया हूं। लेकिन मैं इसे अंततः काम करने के लिए वास्तव में कड़ी मेहनत कर रहा हूं। तो मै क्या कर सकता हूँ?
मैं विजुअल स्टूडियो 2013 सामुदायिक संस्करण के साथ काम करता हूं। वर्तमान में curl का नवीनतम संस्करण 7.42.1 है। किसी भी मदद का बहुत स्वागत है!

+1

आप को देखा है [इस] (http://stackoverflow.com/questions/20171165/)? – uesp

+0

फिर से मेरे प्रश्न में देखें। (नीले लिंक) (= – beshtaa

उत्तर

10

समस्याओं अपने आप था, अंत में यह अब काम मिल गया। मैंने curl-7.42.1.zipofficial website से डाउनलोड किया। संग्रह के भीतर आपको स्रोत कोड और winbuild/BUILD.WINDOWS.txt मिलेगा, जिसमें मूल रूप से मेरे द्वारा दिए गए निर्देश शामिल हैं। मुझे लगता है कि इसे सी: \ curl-7.42.1 में अनजिप कर दिया गया है।

ओपन Visual Studio command prompt पर

सी स्थित: \ \ शॉर्टकट

यह स्वचालित रूप से दृश्य का उपयोग करने के लिए आवश्यक वातावरण चर सेट प्रोग्राम फ़ाइलें (x86) \ माइक्रोसॉफ्ट विजुअल स्टूडियो 12.0 \ Common7 \ उपकरण कंपाइलर जैसे स्टूडियो टूल्स। तब winbuild निर्देशिका में ले जाएँ और पाठ फ़ाइल मैं उपर्युक्त में वर्णित के रूप फोन

nmake/Makefile.vc मोड च = dll

कि निर्देशिका का निर्माण करेगा

C: \ कर्ल-7.42.1 \ \ libcurl-VC-86-रिलीज़-dll-IPv6-SSPI-winssl

युक्त libcurl बनाता है। डीएलएल, libcurl.lib और आवश्यक हेडर फाइलें। आइए इसे C:\curl-7.42.1\builds\release पर पुनर्नामित करें: 'डी

  1. फिर अपनी प्रोजेक्ट खोलें।
  2. अपनी परियोजना के गुणों को खोलें।
  3. सुनिश्चित करें कि आप रिलीज विन्यास के रूप में (ऊपर बाएं कोने) का चयन करें!
  4. VC++ Directories > Include directories को
  5. नेविगेट करने और जोड़ने C:\curl-7.42.1\builds\release\include
  6. VC++ Directories > Library directories को C:\curl-7.42.1\builds\release\lib जोड़ें।
  7. Linker > Input > Additional Dependencies में जाओ और libcurl.lib जोड़ें।
  8. अंत में C:\curl-7.42.1\builds\release\bin\libcurl.dll को अपने प्रोजेक्ट फ़ोल्डर में कॉपी करें।

कि चाल करना चाहिए! : डी आप डिबग मोड में cURL का उपयोग करना चाहते हैं, तो आप क्या कर सकते हैं लगभग एक ही, nmake /f Makefile.vc mode=dll debug=yes का उपयोग कर पुन: संयोजित, अपनी परियोजना के गुणों के लिए जाना नव निर्मित निर्देशिका पथ को जोड़ने (libcurl_debug.lib को libcurl.lib बदलते) और आप से किया जाना चाहिए ।

+0

त्वरित जवाब के लिए धन्यवाद, मुझे लगता है कि जल्द ही कोशिश करेंगे – beshtaa

+1

मेरी आंखों में आंसू और मेरे हाथ में एक कप कॉफी मैं पर जा सकते हैं के साथ, क्योंकि आप सर मेरा दिन बना दिया (:। धन्यवाद बहुत अधिक! संपादित करें: कृपया * Makefile.vs * को * Makefile.vc * – beshtaa

+0

सुनना अच्छा लगता है, आपका स्वागत है! :) मेरी पोस्ट को संपादित करते हुए आपने संपादित किया। – Jeinzi

0

मुझे एक ही समस्या थी। मैंने https://github.com/curl/curl से कर्ल डाउनलोड किया। आप वास्तव में इसे विजुअल स्टूडियो 2013 के साथ सीधे संकलित कर सकते हैं (लेकिन पैरामीटर सेटिंग के साथ सावधान रहें: रिलीज के साथ x64)। बड़ा अंतर यह है कि यह आपको libcurl_imp.lib देता है। तो आपको ऊपर वर्णित पर्यावरण चर सेट करना है। बस उल्लेख करना चाहते हैं, आपको अतिरिक्त निर्भरताओं में libcurl.lib के बजाय libcurl_imp.lib का उपयोग करना होगा (मुझे संदेह है कि यह परिवर्तन कर्ल के नए संस्करण की वजह से है)।