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

Ubuntu虚拟机编译OQS版OpenSSL时make -j执行失败求助

Ubuntu虚拟机编译OQS版OpenSSL时make -j执行失败求助

嘿,看起来你遇到的是OQS库头文件没被OpenSSL编译流程识别到的问题,我来给你几个实用的解决思路:

  • 先确认OQS相关文件是否存在
    错误提示找不到oqs/oqs.h,首先检查你的系统里有没有这个文件。可以用命令查找:

    find / -name oqs.h 2>/dev/null
    

    如果找不到,说明你可能漏了拉取OQS的源码或者没正确安装OQS库。

  • 检查OQS-OpenSSL的子模块是否拉取完整
    很多人编译OQS版OpenSSL时会漏掉子模块的步骤。如果你是直接克隆的仓库,记得要带递归参数:

    git clone --recursive https://github.com/open-quantum-safe/openssl.git
    

    如果之前已经克隆了仓库但没拉子模块,现在进入OpenSSL目录执行:

    git submodule update --init --recursive
    

    这一步会自动拉取OQS的源码,之后再重新执行./config和make -j试试。

  • 编译时手动指定OQS路径(如果OQS没装到系统默认位置)
    如果你是单独编译安装的OQS库,在配置OpenSSL的时候需要明确指定OQS的头文件和库文件路径,比如:

    ./Configure --prefix=/usr/local/openssl-oqs enable-oqs \
    --with-oqs-include=/usr/local/include \
    --with-oqs-lib=/usr/local/lib
    

    这里的路径要替换成你实际安装OQS的目录,确保/usr/local/include/oqs/下有oqs.h,/usr/local/lib下有OQS的库文件。

  • 设置环境变量让系统找到OQS文件
    临时设置环境变量,让编译器能找到OQS的头文件和库:

    export C_INCLUDE_PATH=/usr/local/include:$C_INCLUDE_PATH
    export LIBRARY_PATH=/usr/local/lib:$LIBRARY_PATH
    export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
    

    设置完后重新执行make -j。

你可以先从检查子模块是否完整开始,这是最常见的问题点,希望这些方法能帮你顺利编译!

备注:内容来源于stack exchange,提问作者Moo

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.22 14:53:12