gpt4 book ai didi

c - 在 GCC 中链接 libssl 和 libcrypto

转载 作者:太空狗 更新时间:2023-10-29 16:53:26 24 4
gpt4 key购买 nike

<分区>

我正在尝试使用 OpenSSL 的 EVP 接口(interface)进行一些加密。我很确定我的代码是正确的,但我似乎无法编译它。我正在使用 GCC 和 Ubuntu 32 位精度,安装了 libssl-dev 并且是最新版本。

该项目目前由一个文件组成,program.c .

#include <openssl/evp.h>
...
i = EVP_BytesToKey(EVP_aes_256_cbc(), EVP_sha1() ... );
...
EVP_CIPHER_CTX_init(e_ctx);

在其他各种调用中。

下面是我调用 gcc 的方式:

gcc -Wall -g -lssl -lcrypto -o program program.c

然后我得到这样的输出

/home/andy/program/program.c:31: undefined reference to `EVP_sha1'
/home/andy/program/program.c:31: undefined reference to `EVP_aes_256_cbc'
/home/andy/program/program.c:31: undefined reference to `EVP_BytesToKey'
/home/andy/program/program.c:44: undefined reference to `EVP_CIPHER_CTX_init'

所以包含显然有效:

andy@ProgStation2:/usr/include$ find . | grep evp.h
./openssl/evp.h

这是 locate libcrypto 的输出.我最好的猜测是这是一个愚蠢的位置,也是我的链接失败的原因,所以我尝试了 -L/usr/lib/i386-linux-gnu之前-lcrypto也没有运气。

/lib/i386-linux-gnu/libcrypto.so.1.0.0

我有点难过。如果有人想让我觉得自己像个傻瓜,我会非常兴奋地弄清楚我做错了什么!

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com