-- Could NOT find OpenSSL, try to set the path to OpenSSL root folder in the system variable OPENSSL_ROOT_DIR (missing: OPENSSL_INCLUDE_DIR)
时间: 2025-03-26 07:16:54 浏览: 93
### 配置 `OPENSSL_ROOT_DIR` 环境变量
当 CMake 报告无法找到 OpenSSL 库时,通常是因为未正确指定 OpenSSL 的路径。为了使 CMake 能够识别并链接到 OpenSSL 库,可以配置 `OPENSSL_ROOT_DIR` 环境变量来指向 OpenSSL 安装目录。
#### Linux 下的解决方案
对于 Linux 用户,在通过 `apt-get install openssl` 命令安装后,默认情况下 OpenSSL 将被放置在 `/usr/bin` 或者其他标准位置。然而,这并不总是能自动让 CMake 找到所需的库文件和头文件。因此,建议手动设置环境变量:
```bash
export OPENSSL_ROOT_DIR=/usr/include/openssl
```
此命令临时设置了当前 shell 会话中的 `OPENSSL_ROOT_DIR` 变量。如果希望永久生效,则需将其添加至用户的 `.bashrc` 文件或其他启动脚本中[^2]。
另外一种方式是在执行 cmake 命令的时候直接传递参数:
```bash
cmake .. -DOPENSSL_ROOT_DIR=/usr/include/openssl
```
这样可以直接告诉 CMake 使用哪个版本的 OpenSSL 进行构建过程[^4]。
#### Windows 下的解决方案
针对 Win11 平台上的问题,可以通过修改系统的环境变量实现相同效果。具体操作如下:
1. 打开“系统属性”对话框;
2. 点击“高级”选项卡下的“环境变量…”按钮;
3. 在“系统变量”部分点击“新建”,创建名为 `OPENSSL_ROOT_DIR` 的新变量,并将值设为 OpenSSL 的实际安装路径,例如 `C:\Program Files\OpenSSL-Win64`;
4. 对于特定项目也可以只在运行 cmake 时提供该参数而不必全局设定环境变量:
```powershell
cmake .. "-DOPENSSL_INCLUDE_DIR=C:\Program Files\OpenSSL-Win64\include"
```
以上措施应该能够帮助解决因缺失 `OPENSSL_INCLUDE_DIR` 导致的编译错误[^3]。
阅读全文
相关推荐

















