2010-05-24 67 views
4

我想測試openssl附帶的加密庫,我從http://www.openssl.org/source/下載了openssl,並且它包含一個/ crypto文件夾和每個加密類型的子文件夾。如何在C++中使用openssl crypto lib頭文件?

我想嘗試BIO_f_base64,所以我創建了一個空的控制檯應用程序,並添加了所需的包含,還將路徑添加到/ bio和/ evp文件夾到C++ incl目錄,並且還添加了main/openssl文件夾。

當我嘗試編譯,我得到無法打開包含文件:「OpenSSL的/ e_os2.h」:沒有這樣的文件或目錄

但文件是存在的,我應該使用加密的lib不同辦法?我如何使用它只添加/ openssl路徑,而不是所有我使用的加密子文件夾?

另外我沒有任何.lib文件,我可以從哪裏獲得它們?

+0

下載的OpenSSL庫包含所有的頭文件,但它們存儲爲Windows不喜歡的符號鏈接(Cygwin可以處理它們)。您將需要使用下面的預建庫(請參閱Joe的回答) – 2013-03-13 00:07:39

+0

另請參閱[EVP對稱加密和解密| C++程序](https://wiki.openssl.org/index.php/EVP_Symmetric_Encryption_and_Decryption#C.2B.2B_Programs)來了解使用C++時的一些技巧。在[如何在C++中添加2個任意大小的整數?](https://stackoverflow.com/a/45940572/608639)中應用了相同的技巧。 – jww 2017-12-18 05:09:18

回答

5

您需要爲Windows構建的OpenSSL版本,而不是源版本。我建議安裝here的版本,它有一些很好的.lib文件和頭文件的安裝程序。一旦你安裝了它,你將不得不使用適當的包含路徑來更新你的VS項目,以從安裝程序放置它們的地方獲取標題。

+0

好的,謝謝我即將試用該版本。 – peterg 2010-05-24 15:33:13

1

在Windows中,如果你想自己編譯它,你可以這樣做運行:

對於64位:

perl Configure VC-WIN64A 
ms\do_win64a.bat 
nmake -k -f ms\ntdll.mak 

對於32位:

perl Configure VC-WIN32 
ms\do_nasm.bat 
nmake -k -f ms\ntdll.mak 

一旦你編譯來源,標題位於inc32文件夾中,而libs/dlls位於out32dll文件夾中。

你可以在INSTALL文件中找到更詳細的信息。

相關問題