2014-01-24 113 views
2

如何使用openssl源碼創建應用程序,無需編譯openssl.dlllibeay.dll? 我下載了openssl-0.9.8h,設置包含路徑爲path-to-sources/include/.文件位於include/openssl/它是指向文件../../{crypto/_algo-name_/algosource.h}的鏈接,VS不理解這個鏈接。Visual Studio - 如何使用openssl創建應用程序源碼

+0

我知道如何編譯openssl。該應用程序編譯成功,並與DLL工作,但我需要編譯和運行沒有DLL%) – r3l0c

+0

我提供並回答(所有運行時,x86/x64,調試/發佈)在這裏http://stackoverflow.com/questions/18486243 /我怎麼做建立openssl靜態鏈接的Windows運行時間/ 35494745#35494745 –

回答

0

實際上,您需要構建OpenSSL,並且會在makefile中指定的修補程序中生成庫和頭文件。你應該使用包含文件。這些頭文件就像模板文件,並在構建OpenSSL時使用。請參閱this問題。

並搜索如何在Windows上構建OpenSSL。

由於編譯後你提到的問題,不應該有任何需要的OpenSSL,你可以做以下方式:

  1. 生成的OpenSSL的靜態庫,並在應用中使用它。現在,在編譯完應用程序後,OpenSSL dll將不再需要。

  2. 如果您的應用程序非常小,可以使用OpenSSL靜態庫進行編譯。

+0

我不生成用於compileng和調用DLL的標頭。我需要編譯與源代碼。編譯後,應用程序不需要DLL的。 – r3l0c

+0

然後生成OpenSSL的靜態庫並使用它。使用靜態庫編譯應用程序後,您將不需要OpenSSL的DLL。 – doptimusprime

0

如何使用OpenSSL的源代碼來構建應用程序,編譯openssl.dll和libeay.dll

你不能。您需要首先構建OpenSSL庫。


我下載的OpenSSL 0.9.8h,設置包括路徑路徑到源/包括/ ....

下一個步驟是打開INSTALL.W32和閱讀說明。這是大多數步驟的一個優點。但一定要使用Visual Studio命令提示符執行它,以便像cl.exelink.exe這樣的工具處於路徑上。

If you want to compile in the assembly language routines with Visual 
C++, then you will need already mentioned Netwide Assembler binary, 
nasmw.exe or nasm.exe, to be available on your %PATH%. 

Firstly you should run Configure with platform VC-WIN32: 

    > perl Configure VC-WIN32 --prefix=c:\some\openssl\dir 

Where the prefix argument specifies where OpenSSL will be installed to. 

Next you need to build the Makefiles and optionally the assembly 
language files: 

- If you are using NASM then run: 

    > ms\do_nasm 

- If you don't want to use the assembly language files at all then run: 

    > perl Configure VC-WIN32 no-asm --prefix=c:/some/openssl/dir 
    > ms\do_ms 

If you get errors about things not having numbers assigned then check the 
troubleshooting section: you probably won't be able to compile it as it 
stands. 

Then from the VC++ environment at a prompt do: 

    > nmake -f ms\ntdll.mak 

If all is well it should compile and you will have some DLLs and 
executables in out32dll. If you want to try the tests then do: 

    > nmake -f ms\ntdll.mak test  

To install OpenSSL to the specified location do: 

    > nmake -f ms\ntdll.mak install 

閃耀光芒製作的托馬斯Hruska的提供Win32 OpenSSL。它是一個預安裝的Windows安裝程序的OpenSSL。他已經提供了多年。

安裝完成後,只需在Visual Studio中指向它即可。 Cygwin,Perl和腳本等環境不需要修改源代碼,以便Unix和Linux在Windows上運行。 (對我來說,這是一個愚蠢的想法,Windows是Windows,而Linux是Linux,不要試圖像其他人一樣行事)。

相關問題