c - Mac M1 openssl CLion 编译问题
问题描述
我有以下任务:编写一个创建 dh 参数的 C/C++ 程序。
我用克莱恩。最初安装了 OpenSSL,我可以在终端中使用所有 OpenSSL 命令。
MacBook-Air-Nikita ~ % openssl version
LibreSSL 2.8.3
但是,在 CLion 中,我无法添加任何库,因为它看不到它。我使用 Brew 成功安装了新的 OpenSSL;它有这样的路径:
/opt/homebrew/Cellar/openssl@1.1/1.1.1i/
但是 CLion 没有看到任何库。所以我将这些行添加到项目 CMakeList.txt 中:
include_directories(/usr/local/Cellar/openssl@1.1/1.1.1i/include/)
set(OPENSSL_ROOT_DIR /usr/local/Cellar/openssl@1.1/1.1.1i/ )
set(OPENSSL_USE_STATIC_LIBS TRUE)
find_package(OpenSSL REQUIRED)
之后,我可以包含我想要的所有库,但它不起作用。当我尝试使用库中的任何功能运行程序时,构建器会失败。
#include <openssl/rand.h>
int main(){
RAND_bytes(10, 10);
return 0;
}
错误:
Undefined symbols for architecture arm64:
"_RAND_bytes", referenced from:
_main in main.c.o
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[3]: *** [PV181_HW03] Error 1
make[2]: *** [CMakeFiles/PV181_HW03.dir/all] Error 2
make[1]: *** [CMakeFiles/PV181_HW03.dir/rule] Error 2
make: *** [PV181_HW03] Error 2
谁能告诉我如何解决这个问题?
解决方案
推荐阅读
- javascript - 如何使用 javascript 更改 iframe 内视频的播放速率/速度?
- python - 为什么我的数据无效?(serializer.is_valid() 返回 False)
- python - Tika 在 Windows 上通过 python 抛出 AttributeError
- rust - Rust 中的动态类型实体组件系统
- python - Python 中的 PHP $obj->{$field} 等价物
- numpy - 波士顿数据集上的梯度下降
- spring - Hibernate PESSIMISTIC_WRITE 不锁定数据库并返回 oldValue
- enums - GRAPHQL 基于 Enum 查找项目
- python - 一个 Django 问题:第 17 行的块标记无效:“静态”。您是否忘记注册或加载此标签?
- git - 无需 Github Personal 访问令牌进行推送身份验证