首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

Windows 7 64位編譯 OpenSSL 完整避坑指南(附 Intel 官方教程鏈接)

     編輯:程式設計綜合問答

Win7 x64 下編譯 OpenSSL 常因缺少 Windows SDK 頭文件(windows.h、stdlib.h)、Perl 環境未配置、uplink.c 組裝報錯而失敗。本文整理最小依賴清單、環境變量設置、編譯命令全流程,並附 Intel 官方中文教程鏈接作為權威參考。

前置依賴清單(必裝)

工具版本建議下載/安裝要點
ActivePerl / Strawberry Perl5.32+安裝後驗證 perl -v;加入 PATH
NASM2.15+重命名 nasm.exe 置於 PATH 目錄
Windows SDK / Visual StudioWin10 SDK (10.0.19041+) 或 VS2019 Build Tools必須包含 Windows Headers、CRT、x64 編譯器

環境變量設置(PowerShell 管理員)

$env:PATH += ";C:\Perl64\bin;C:\nasm;C:\Program Files (x86)\Windows Kits\10\bin\10.0.19041.0\x64"
# 確保 cl.exe、link.exe、rc.exe 可直接調用

編譯步驟(OpenSSL 1.1.1 / 3.0 通用)

  1. 解壓源碼至無空格路徑,如 D:\openssl-3.0.12。
  2. 進入目錄,運行配置:
perl Configure VC-WIN64A no-asm --prefix=D:\openssl-install
# no-asm 避開 uplink.c 組裝問題;生產環境建議啟用 asm 但需完整 NASM/VS 配置
  1. 編譯安裝:
nmake
nmake test   # 可選,耗時較長
nmake install

產物位於 D:\openssl-install\bin(libcrypto.dll、libssl.dll、openssl.exe)。

常見報錯速查

錯誤信息原因解決
fatal error C1083: windows.h: No such file缺 Windows SDK 或 include 路徑未加入安裝 Win10 SDK;VCVARSALL.BAT 正確調用
stdlib.h not foundCRT 頭文件缺失VS Installer 勾選 "C++ ATL for v142 build tools (x86 & x64)"
uplink.c: undefined symbolNASM 版本過低或未啟用 asm升級 NASM 或加 no-asm 選項
LNK2001: unresolved external symbol _OPENSSL_cleanup多版本庫混用清理環境變量 LIB/INCLUDE,重新開啟終端

權威參考資料

Intel 官方中文教程(含 VS2017/2019 圖文步驟):
https://software.intel.com/zh-cn/blogs/2013/12/22/windows-openssl

OpenSSL 官方 Wiki:Compilation and Installation

驗證安裝

D:\openssl-install\bin\openssl.exe version
# OpenSSL 3.0.12 24 Oct 2023 (Library: OpenSSL 3.0.12 24 Oct 2023)

若需動態鏈接至 C/C++ 項目,將 bin 加入系統 PATH,或在 CMake 中 find_package(OpenSSL REQUIRED) 指定 OPENSSL_ROOT_DIR。

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