2013-06-15 16 views
6

Pobrałem najnowszą wersję wydania OpenSSL z http://www.openssl.org/source/użyciu OpenSSL w Visual Studio 2012

chciałbym użyć go w Visual Studio 2012, a zwłaszcza coraz MD5/SHA-1 hash pliku, ale nie można włączyć/ustawić środowiska z biblioteką openssl. Szczerze mówiąc, wpadłem w zakłopotanie, co uwzględnić i gdzie, ale przeczytałem README-y.

Otrzymuję ten błąd.

Error 1 error LNK2019: unresolved external symbol _MD5_Init referenced in function _main 

Więc moje pytanie jest, Pobrałem najnowszą wersję (openssl-1.0.1e.tar.gz), co mam config w VS2012, aby móc użyć lib? Dzięki!

UPDATE

To pytanie pomógł mi też w znalezieniu rozwiązania. Boost SSL with Visual Studio 2010 and OpenSSL

Kroki wymagane do korzystania z lib OpenSSL z VS2012:

  • pobrać i zainstalować wersję (mam 64-bitowy system operacyjny, jednak mam zainstalowany 32-bitowy) z OpenSSL http://slproweb.com/products/Win32OpenSSL.html.
  • Nowy projekt w VS, a następnie Właściwości konfiguracji/C/C++/Ogólne/Dodatkowe katalogi: folder openssl include (C: \ OpenSSL-Win32 \ include)
  • Łącznik/Ogólne/Dodatkowe biblioteki Directiories: C: \ OpenSSL -Win32 \ lib
  • Linker/input/Dodatkowe zależności:

libeay32.lib libeay32MTd.lib libeay32MT.lib libeay32MDd.lib libeay32MD.lib ssleay32.lib ssleay32MTd.lib ssleay32MT.lib ssleay32MDd. lib ssleay32MD.lib

(było napisane, że muszę tylko dodać, że taki, który pasuje do C/C++/code Generation/Runtime Library, ale działa mi w ten sposób.)

  • kopiowania plików theese do bieżącej VS folder/VC/lib
+1

co masz na myśli mówiąc "Skopiuj te pliki do bieżącego folderu VS/VC/lib"? –

Odpowiedz

5

Jaki kompilator użyłeś do kompilacji OpenSSL? Czy używasz MinGW? Jeśli tak, upewnij się, że ich nie usuniesz (lub po prostu z --strip-unneeded) w przeciwnym razie symbole importu zostaną usunięte. Czy wersja nagłówka i wersji lib jest zgodna?

Może chcesz wypróbować wcześniej zbudowane z: http://slproweb.com/products/Win32OpenSSL.html te działają na pewno.

+0

Myślę, że te wcześniej zbudowane to dobry wybór, teraz pobrałem (Win64 OpenSSL v1.0.1e, mam 64bit W7), zainstalowałem go. W katalogu OpenSSL-Win64 znajdują się załączniki, aw lib .libs. Co mam teraz zrobić? Czy mam skopiować je do katalogu VS, czy co mam skonfigurować w VS? – rdanee

+0

Ustawiłem C/C++/General/Additional Include Dirs na OpenSSL-Win64/include, OpenSSL-Win64/lib i ustawiłem zależności na libeay32.lib, ssleay32.lib. Mam ten sam problem – rdanee

+0

To jest właściwy sposób, aby to zrobić. Czy na pewno umieściłeś katalog VC? na przykład C: \ OpenSSL-WinXX \ lib \ VC lub C: \ OpenSSL-WinXX \ lib \ VC \ static dla bibliotek statycznych.Następnie połącz się z bibliotekami MT dla wydania i MTd dla kompilacji debugowania. (libeay32MT.lib, ...) – Thomas