c++ - विजुअल स्टूडियो एक्सप्रेर्स 2012 में विंडोज़ 7 एक्स 64 में ओपनसएल को कैसे शामिल किया जाए




visual-studio-2012 openssl (2)

कॉनन का उपयोग करें यह स्थापित करना और उपयोग करना बहुत आसान है:

www.conan.io

आप उपयोग के लिए तैयार फाइलों का अनुरोध कर सकते हैं। उदाहरण के लिए लिनक्स एक्स 64 या विजुअल स्टूडियो 2012 के साथ उपयोग ... यहां एक नमूना निर्देश है:

conan install OpenSSL/1.0.[email protected]/stable -s arch="x86_64" -s build_type="Debug" -s compiler="gcc" -s compiler.version="5.3" -s os="Linux" -o 386="False" -o no_asm="False" -o no_rsa="False" -o no_cast="False" -o no_hmac="False" -o no_sse2="False" -o no_zlib="False" ...

मुझे अपनी परियोजना में openssl जोड़ने का एक कठिन समय रहा है मैंने खिड़कियों के लिए प्रीकंपाइल इंस्टॉल किया है, और मेरे पास पुस्तकालय स्थापित हैं, लेकिन मुझे अपने प्रोजेक्ट में openssl को शामिल करने का कोई तरीका नहीं मिल सकता है


मान लें कि आपने OpenSSL को एक फ़ोल्डर में स्थापित किया है जैसे: C: \ Program Files \ Openssl-Win32-1.0.1p ..... (या जो भी अन्य नाम); मैं इसे OPENSSL_INSTALL_DIR रूप में संदर्भित करने जा रहा OPENSSL_INSTALL_DIR (क्योंकि यह एक env var था)। इसलिए %OPENSSL_INSTALL_DIR% में फ़ोल्डर्स और फ़ाइलों का एक समूह होना चाहिए जिनमें से हमारे लिए महत्वपूर्ण है: फ़ोल्डर्स:

  • शामिल
  • lib

फ़ाइलें:

  • libeay32.dll
  • ssleay32.dll (यह भी libssl32.dll को कॉपी किया जा सकता है)

अपने वीसी प्रोजेक्ट में इसका उपयोग करने के लिए आपको यह करना होगा:

  • अपने कंपाइलर को निर्देश दें कि फाइल को शामिल करने के लिए कहां खोजें। आप अपने प्रोजेक्ट गुण -> सी / सी ++ -> सामान्य -> अतिरिक्त निर्देशिकाओं को शामिल करके और %OPENSSL_INSTALL_DIR%\include जोड़कर जोड़कर %OPENSSL_INSTALL_DIR%\include (यदि आपको अन्य रास्तों को अर्धविराम ( ; ) द्वारा अलग करने की आवश्यकता है) अब आप अपने स्रोत कोड openssl हेडर फाइलों में शामिल कर सकते हैं। ध्यान दें कि क्योंकि %OPENSSL_INSTALL_DIR%\include फ़ोल्डर में एक openssl सबफ़ोल्डर होता है और उस सबफ़ोल्डर के अंतर्गत वास्तविक हेडर फ़ाइलें हैं जो आपके include धाराओं को इस तरह दिखना होगा:

    #include "openssl/ssl.h"

    बेशक आप %OPENSSL_INSTALL_DIR%\include\openssl फ़ोल्डर को अपने प्रोजेक्ट में जोड़ सकते हैं और इसके बाद के संस्करण में शामिल हैं:

    #include "ssl.h"

    लेकिन पहला फॉर्म सबसे पसंदीदा है

  • अपने लिंकर को बताएं कि पुस्तकालयों को कहाँ खोजना है आप अपने प्रोजेक्ट गुण -> लिंकर -> सामान्य -> अतिरिक्त लाइब्रेरी निर्देशिकाओं में जाकर और %OPENSSL_INSTALL_DIR%\lib जोड़कर ऐसा कर सकते हैं (फिर से, यदि कई पथ उन्हें अलग ; )

  • आपके लिंकर को क्या पुस्तकालयों का उपयोग करने का निर्देश देना %OPENSSL_INSTALL_DIR%\lib फ़ोल्डर में %OPENSSL_INSTALL_DIR%\lib फ़ाइलों का एक समूह होता है उनमें से आपको सबसे अधिक संभावना केवल libeay32.lib और / या ssleay32.lib आवश्यकता होगी। अपनी प्रोजेक्ट गुण -> लिंकर -> इनपुट -> अतिरिक्त निर्भरता पर जाएं और उन 2 पुस्तकालयों को मौजूदा वाले के बगल में जोड़ें

अब, यदि आपकी सभी सेटिंग्स और स्रोत कोड सही हैं, तो आपके पास एक सुसंगत प्रोजेक्ट होना चाहिए। अब जब आप अपनी प्रोजेक्ट आउटपुट (या तो एक निष्पादन योग्य या किसी अन्य । डीएलएल को एक एक्ज़िक्यूएबल की आवश्यकता के अनुसार चलाने के लिए चाहते हैं, तो मैं यहां पर चर्चा नहीं कर रहा हूं कि आप की स्थिरता का इस्तेमाल कर रहे हैं) आपको 2 .डीएलएल फाइलों की प्रतिलिपि बनाने की आवश्यकता हो सकती है मैंने आपके %PATH% env var में से किसी फ़ोल्डर में शुरुआत में, या उस फ़ोल्डर में जहां आपके निष्पादन योग्य स्थित है, या बेहतर %OPENSSL_INSTALL_DIR% को अपने %PATH% चर में जोड़ें; यद्यपि मुझे सही याद है कि इंस्टॉलर भी उन्हें आपके %SystemRoot%\system32 फ़ोल्डर में प्रतिलिपि बनाते हैं और उस स्थिति में आपको यह कदम नहीं करना होगा, लेकिन यह सिर्फ एक सिर है

महत्वपूर्ण नोट : 32 या 64 बिट्स के लिए अपनी प्रोजेक्ट को लक्षित करते समय सावधान रहना चाहिए ( प्लेटफार्म को Win32 या VC में x64 सेट करना); जो आपके ओपनएसएसएल स्थापना वास्तुकला से मेल खाता है





openssl