我尝试在 Linux 上编译一个库。这个库使用 <openssl/sha.h>
图书馆。我已将此库包含在源文件中。之后,我使用标志 -lssl
和标志 -lcrypto
编译这个项目。所以这是我的命令:
gcc -g -Wall -lssl -lcrypto -o bt_client file_a.c file_b.c
但是我遇到错误:
undefined reference to `SHA1' at line 130
第 130 行的代码是:
SHA1((unsigned char *) null_padded_name, 20, (unsigned char *)name_sha1);
我错过了什么吗?请纠正我。谢谢:)
最佳答案
试试这个:
gcc -g -Wall -o bt_client file_a.c file_b.c -lssl -lcrypto
如果您确定 SHA1
符号存在于 libssl.so
或 libcrypto.so
中。
关于c - 未定义对 `SHA1' 的引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22988320/