2013-06-15 77 views
6

Tôi đã tải phiên bản phát hành mới nhất của OpenSSL từ http://www.openssl.org/source/sử dụng OpenSSL trong Visual Studio 2012

Tôi muốn sử dụng nó trong Visual Studio 2012, đặc biệt là nhận được băm MD5/SHA-1 của một tập tin, nhưng tôi không thể bao gồm/thiết lập môi trường với thư viện openssl. Thành thật mà nói tôi đã nhầm lẫn những gì cần đưa vào, và ở đâu, tuy nhiên tôi đã đọc README-s.

Tôi gặp phải lỗi này.

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

Vì vậy, câu hỏi của tôi là, tôi đã tải về phiên bản mới nhất (openssl-1.0.1e.tar.gz), những gì tôi nên cấu hình trong VS2012 để có thể sử dụng lib? Cảm ơn!

CẬP NHẬT

Câu hỏi này đã giúp tôi cũng trong việc tìm kiếm giải pháp. Boost SSL with Visual Studio 2010 and OpenSSL

Các bước cần thiết để sử dụng lib openssl với VS2012:

  • tải về và cài đặt phiên bản (Tôi có hệ điều hành 64bit, tuy nhiên tôi đã cài đặt 32bit openssl) từ http://slproweb.com/products/Win32OpenSSL.html.
  • Dự án mới trong VS, sau đó Thuộc tính cấu hình/C/C++/Thư mục chung/bổ sung: openssl bao gồm thư mục (C: \ OpenSSL-Win32 \ include)
  • Linker/General/Additional Library Directiories: C: \ OpenSSL -Win32 \ lib
  • Linker/Input/Dependencies bổ sung:

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

(Nó được viết rằng tôi cần phải chỉ thêm rằng một trong đó phù hợp với C/C++/Code Generation/Runtime Library, nhưng Nó hoạt động với tôi theo cách này.)

  • Copy file theese vào hiện tại VS thư mục/VC/lib
+1

ý của bạn là gì với "Sao chép tệp này vào thư mục VS/VC/lib hiện tại"? –

Trả lời

5

Bạn đã sử dụng trình biên dịch nào để biên dịch OpenSSL? Bạn đã sử dụng MinGW chưa? Nếu vậy, hãy đảm bảo bạn không loại bỏ chúng (hoặc chỉ với --strip-unneeded) nếu không biểu tượng nhập sẽ bị tước. Phiên bản tiêu đề và phiên bản lib có phù hợp không?

Có thể bạn muốn thử những người được xây dựng sẵn từ: http://slproweb.com/products/Win32OpenSSL.html những công việc đó chắc chắn.

+0

Tôi nghĩ rằng những người được xây dựng trước là một lựa chọn tốt, Bây giờ tôi đã tải xuống (Win64 OpenSSL v1.0.1e, tôi có 64bit W7), cài đặt nó. Trong thư mục OpenSSL-Win64 có bao gồm, và trong lib the .libs. Tôi nên làm gì bây giờ? Tôi sẽ sao chép chúng vào thư mục VS, hoặc những gì tôi nên cấu hình trong VS? – rdanee

+0

Tôi đặt C/C++/General/Bổ sung bao gồm Dirs vào OpenSSL-Win64/include, OpenSSL-Win64/lib và tôi đặt các phụ thuộc vào libeay32.lib, ssleay32.lib. Tôi có cùng một vấn đề – rdanee

+0

Đó là cách chính xác để thực hiện. Bạn có chắc là bạn đã đưa vào thư mục VC không? ví dụ C: \ OpenSSL-WinXX \ lib \ VC hoặc C: \ OpenSSL-WinXX \ lib \ VC \ tĩnh cho các lib tĩnh.Sau đó, liên kết với MT libs để phát hành và MTd để gỡ lỗi xây dựng. (libeay32MT.lib, ...) – Thomas

Các vấn đề liên quan