You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

运行Go项目调用OpenSSL库时遇openssl/bio.h文件未找到错误

解决Go项目调用OpenSSL时「openssl/bio.h file not found」错误

这个错误的核心原因是系统未安装OpenSSL开发包,或者Go编译时无法定位到OpenSSL的头文件路径。以下是不同操作系统的解决方案:

Linux 系统

  • Debian/Ubuntu 系列:
    安装OpenSSL开发库:
    sudo apt-get install libssl-dev
    
  • RHEL/CentOS/Fedora 系列:
    # RHEL/CentOS 7及以下
    sudo yum install openssl-devel
    # RHEL/CentOS 8+ 或 Fedora
    sudo dnf install openssl-devel
    

macOS 系统

  1. 先通过Homebrew安装OpenSSL:
    brew install openssl
    
  2. 临时指定编译参数运行Go项目:
    CGO_CFLAGS="-I$(brew --prefix openssl)/include" CGO_LDFLAGS="-L$(brew --prefix openssl)/lib" go build
    
  3. 若想永久生效,将路径写入shell配置文件(以zsh为例):
    echo 'export CGO_CFLAGS="-I$(brew --prefix openssl)/include"' >> ~/.zshrc
    echo 'export CGO_LDFLAGS="-L$(brew --prefix openssl)/lib"' >> ~/.zshrc
    source ~/.zshrc
    

Windows 系统

  • 方式1:通过Chocolatey安装OpenSSL
    choco install openssl
    
    然后设置环境变量(假设安装路径为C:\Program Files\OpenSSL-win64):
    set CGO_CFLAGS=-IC:\Program Files\OpenSSL-win64\include
    set CGO_LDFLAGS=-LC:\Program Files\OpenSSL-win64\lib
    
    最后执行go build即可。
  • 方式2:从OpenSSL官网下载预编译开发包,手动指定上述环境变量后编译。

额外注意

确保CGO处于启用状态(默认开启),若之前关闭过,需先设置:

# Linux/macOS
export CGO_ENABLED=1
# Windows
set CGO_ENABLED=1

内容的提问来源于stack exchange,提问作者Muhammad Anang Ramadhan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 03:52:08