首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> C++ >> C++ 入門

Windows 下為 Visual Studio 建置 OpenSSL 靜態庫完整指南

     編輯:C++ 入門

前言

在 Windows 上為 Visual Studio 建置 OpenSSL 看似簡單,實則坑多。本文記錄完整的 32/64 位元 Release/Debug 靜態庫建置流程,避免常見踩坑。

必要工具

  • Visual Studio 2010(相容性最佳)
  • ActivePerl(勿用 Strawberry Perl)
  • OpenSSL 原始碼(如 1.0.1c)
  • 7-zip 解壓 .tar.gz

目錄結構規劃

將原始碼解壓至兩個獨立目錄:

  • C:\openssl-src-32 — 32 位元建置
  • C:\openssl-src-64 — 64 位元建置

重要:不可在同一目錄建置不同平台,殘留檔案會導致污染。

32 位元 Release 靜態庫

1. 開啟 "Visual Studio 命令提示字元 (2010)"
2. cd C:\openssl-src-32
3. perl Configure VC-WIN32 --prefix=C:\Build-OpenSSL-VC-32
4. ms\do_ms
5. nmake -f ms\nt.mak
6. nmake -f ms\nt.mak install

輸出:C:\Build-OpenSSL-VC-32\lib\libeay32.lib, ssleay32.lib

32 位元 Debug 靜態庫(內嵌偵錯符號)

1. 同樣開啟 VS2010 命令提示字元
2. cd C:\openssl-src-32
3. perl Configure debug-VC-WIN32 --prefix=C:\Build-OpenSSL-VC-32-dbg
4. ms\do_ms
5. 編輯 ms\nt.mak:將所有 /Zi 替換為 /Z7(共 3 處)
6. nmake -f ms\nt.mak
7. nmake -f ms\nt.mak install
8. 重命名:libeay32.lib → libeay32-debug.lib, ssleay32.lib → ssleay32-debug.lib

64 位元 Release 靜態庫

1. 開啟 "Visual Studio x64 命令提示字元"
2. cd C:\openssl-src-64
3. perl Configure VC-WIN64A --prefix=C:\Build-OpenSSL-VC-64
4. ms\do_win64a
5. nmake -f ms\nt.mak
6. nmake -f ms\nt.mak install

輸出同名 libeay32.lib, ssleay32.lib,**必須自行改名**(如 libeay64.lib)避免混淆。

64 位元 Debug 靜態庫

1. 開啟 VS x64 命令提示字元
2. cd C:\openssl-src-64
3. perl Configure debug-VC-WIN64A --prefix=C:\Build-OpenSSL-VC-64-dbg
4. ms\do_win64a
5. 編輯 ms\nt.mak:除 ASM 開頭行外,其餘 /Zi 替換為 /Z7(共 2 處)
   注意:MASM (ml64.exe) 不支援 /Z7,ASM 行保持原樣
6. nmake -f ms\nt.mak
7. nmake -f ms\nt.mak install
8. 重命名:libeay64-debug.lib, ssleay64-debug.lib

絕對不要做的事

  • ❌ 盲目遵循原始碼附帶的 INSTALL.W32/64
  • ❌ 使用 Cygwin/MSYS/MinGW 建置(無法連結至 VS)
  • ❌ 使用 NASM(僅支援 32 位元,VS 建置不需要)
  • ❌ 同目錄建置 32/64 位元
  • ❌ 在 x64 提示字元建置 32 位元,或反之

參考資源

freelan-buildtools OpenSSL 建置指南

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved