2012-07-08 144 views
24

Tôi đang cố gắng chuyển ứng dụng bảng điều khiển của mình được viết bằng C sang Visual Studio 2010. Trên Linux/Mac, ứng dụng chạy hoàn hảo, bao gồm hỗ trợ OpenSSL.Cách sử dụng OpenSSL với Visual Studio

Có ai có thể cung cấp trợ giúp bằng cách sử dụng/liên kết OpenSSL libs trong dự án Visual Studio không?

Cảm ơn!

+3

Bạn đã cài đặt Win32 OpenSSL chưa? Nếu không, hãy vào đây: http://slproweb.com/products/Win32OpenSSL.html –

+0

Giấy phép mang theo là gì? Tôi không chắc chắn nếu nó có thể được bao gồm trong một sản phẩm thương mại ... bất kỳ ý tưởng có thể giúp – mSO

+1

Bạn có cửa sổ OpenSSL lib với bạn? Bạn đang gặp phải vấn đề gì khi cố gắng liên kết với OpenSSL Libs? – Jay

Trả lời

3

Vâng, đây là hơn một tuổi, nhưng tôi không thể tìm thấy câu trả lời vì vậy tôi cơ bắp theo cách của tôi thông qua. Tôi đã openssl-1.0.1e để biên dịch sử dụng VS 11 như vậy:

tôi đã cố gắng sử dụng PERL mà đi kèm với git, không hiệu quả, phải cài đặt ActivePerl

Taken từ link cung cấp bởi Nitesh:

perl Configure VC-WIN64A no-asm 

Tiếp nối bởi:

ms\do_win64a 

mỗi this post, tôi sửa ms \ ntdll.mak và thay đổi CC để:

CC="c:\Program Files (x86)\Microsoft visual Studio 11.0\VC\bin\amd64\cl.exe" 

Rồi cuối cùng:

nmake -f ms\ntdll.mak 

Tôi không bận tâm cài đặt và chỉ cần thêm thư mục openssl-1.0.1e \ out32dll để Configuration Properties -> Linker -> Thư mục Thư viện bổ sung và openssl-1.0 .1e \ inc32 đến các thuộc tính cấu hình -> C/C++ -> C/C++ -> Chung -> Thêm các thư mục bao gồm, sao chép libeay32.dll vào một nơi nào đó trong đường dẫn của tôi và gọi nó là tốt. Có vẻ như đang làm việc.

+1

Đây là phương pháp "xây dựng openssl từ nguồn", nếu tất cả những gì bạn muốn làm là biên dịch chống lại nó, thì dễ dàng hơn để có được các tệp nhị phân. –

23

Tôi biết nó cũ! Tôi phải đối mặt với vấn đề bản thân mình và đây là giải pháp.

Trước hết, bạn nên cài đặt openssl (cài đặt thông thường bình thường). (Đó là từ here).

Bây giờ, sau khi bạn tạo một dự án, tôi trích dẫn:

Hãy chắc chắn rằng các thiết lập sau đây được thiết lập trong tài sản dự án trang:

[C/C++ -> General -> bổ sung bao gồm thư mục] giá trị: OpenSSL bao gồm thư mục trong máy tính của bạn (ví dụ C: \ openssl \ include)

[Linker -> General -> bổ sung thư viện thư mục] giá trị: lib OpenSSL trong máy tính của bạn (ví dụ C: \ o penssl \ lib)

[Trình liên kết -> Giá trị đầu vào -> Phụ thuộc bổ sung]: libeay32.lib

Source.

+0

Hi joker bạn có thể vui lòng giải thích quá trình cài đặt. Liên kết đó không có bất kỳ exe nào để chạy. Tôi nhân bản từ github, nhưng bây giờ bị mắc kẹt. – Noitidart

+1

@Noitidart, bạn đang sử dụng hệ điều hành nào? – joker

+0

Cảm ơn rất nhiều @joker đã trả lời của bạn. Tôi đã đấu tranh thực sự khó khăn. Tôi đang trên Win10, tôi đã tạo chủ đề này giải thích những gì tôi đã làm và yêu cầu trợ giúp - http://stackoverflow.com/q/41357374/1828637 – Noitidart

2

Thêm tiêu đề liên quan đến openssl và các tiêu đề bên dưới.

#include<windows.h> 
#include<winsock2.h> 

Tải xuống các tệp đã biên dịch trước.

http://www.npcglib.org/~stathis/blog/precompiled-openssl/

extarct và giữ thư mục trong ổ đĩa C sử dụng readme_precompile.txt để được hướng dẫn.

Mở dự án Visual C++ và quy trình theo dõi được đưa ra bên dưới để bao gồm và tùy chọn Trình liên kết.

Đảm bảo các cài đặt sau được thiết lập trong trang thuộc tính dự án: [C/C++ -> Chung -> Thư mục bao gồm bổ sung] giá trị: OpenSSL bao gồm thư mục trong máy của bạn (ví dụ: C: \ openssl \ include) hoặc (ví dụ: C: \ openssl \ include64) [Trình liên kết -> Chung -> Thư mục Thư viện Bổ sung] giá trị: Thư mục lib của OpenSSL trong máy của bạn (ví dụ: C: \ openssl \ lib) hoặc (ví dụ: C: \ openssl \ lib64) [Linker -> Input -> Dependencies bổ sung] giá trị:

 ws2_32.lib 
     libsslMT.lib 
     Crypt32.lib 
     libcryptoMT.lib 
Các vấn đề liên quan