Gmssl windows下编译

第一步:确认终端环境

打开开始菜单 → MSYS2 UCRT64,执行:

复制代码
echo $MSYSTEM
which gcc

输出必须:

复制代码
UCRT64
/ucrt64/bin/gcc

第二步:安装 UCRT64 配套全套工具(UCRT64 终端内执行)

复制代码
pacman -Syu

如果提示关闭终端,关掉,重新打开 UCRT64 继续。

复制代码
pacman -S mingw-w64-ucrt-x86_64-toolchain mingw-w64-ucrt-x86_64-cmake mingw-w64-ucrt-x86_64-make git

验证工具:

复制代码
gcc --version
mingw32-make --version
cmake --version

全部正常输出版本号。

第三步:编译 GmSSL‑3(UCRT64 完整命令)

复制代码
git clone https://github.com/guanzhi/GmSSL.git
cd GmSSL
git checkout tags/v3.2.0

mkdir build_ucrt64
cd build_ucrt64

若提醒连接不到github,可手动下载工程。

CMakeLists.txt中,找到第229行 附近的add_executable(gmssl-bin ${tools}),用条件判断包起来:

复制代码
# 替换第229-232行
if (NOT ${CMAKE_SYSTEM_NAME} STREQUAL "iOS")
    add_executable(gmssl-bin ${tools})
    target_link_libraries(gmssl-bin LINK_PUBLIC gmssl)
    set_target_properties(gmssl-bin PROPERTIES RUNTIME_OUTPUT_NAME gmssl)
    if (WIN32)
        target_link_libraries(gmssl-bin PRIVATE Ws2_32)
    endif()
    # ... 后面的测试相关代码也包在这个if块里 ...
endif()

改成:

复制代码
# 新增一个option,默认ON表示构建命令行工具
option(BUILD_GMSSL_BIN "Build gmssl command-line tool" ON)

if (NOT ${CMAKE_SYSTEM_NAME} STREQUAL "iOS" AND BUILD_GMSSL_BIN)
    add_executable(gmssl-bin ${tools})
    target_link_libraries(gmssl-bin LINK_PUBLIC gmssl)
    set_target_properties(gmssl-bin PROPERTIES RUNTIME_OUTPUT_NAME gmssl)
    if (WIN32)
        target_link_libraries(gmssl-bin PRIVATE Ws2_32)
    endif()
    # ... 后面的测试代码也包在这个if块里 ...
endif()

编译命令为:

复制代码
cmake .. -G "Unix Makefiles" \
-DBUILD_SHARED_LIBS=OFF \
-DENABLE_COMMAND_LINE=OFF \
-DENABLE_TEST=OFF \
-DENABLE_DLOPEN=OFF \
-DBUILD_GMSSL_BIN=OFF

编译:

复制代码
make -j4

然后可以正常编译输出静态链接库文件。

相关推荐
明王明王2 小时前
Ubuntu 26.04 使用 Windows Spotlight:给 Bing Wallpaper 加上 Spotlight 支持
linux·windows·ubuntu
Kismet_nvi2 小时前
Python 基础核心知识点总结
开发语言·windows·python
IT大白鼠3 小时前
MSF环境搭建全教程(Kali/Windows/Mac/Docker)
windows·macos·msf
孫治AllenSun6 小时前
【JavaAI】LangChain4J(1) Windows 安装 Ollama 本地大模型
人工智能·windows
FORCECON17 小时前
力控SCADA工程升级:信创跨平台迁移方案,快速搭建安全自主的工业监控系统
linux·windows·自动化·信创·scada·监控组态软件
心之语歌7 小时前
Windows Docker Desktop 部署 SQL Server 2022 完整安装手册
windows·docker·容器
小小代码狗7 小时前
Windows 权限提升技术详解
windows·网络安全
荔枝吻7 小时前
【保姆级喂饭教程】 Windows下WSL2+Docker+Qdrant安装教程
windows·docker·wsl2·qdrant
fengjianhua12257 小时前
C盘清理工具哪个操作最简单?
windows