微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

未定义的对'SHA1'的引用

我尝试在Linux上编译一个库。 这个库文件使用<openssl/sha.h>库。 我已经将这个库包含在源文件中。 之后,我用flag -lssl和flag -lcrypto来编译这个项目。 所以这里是我的命令:

gcc -g -Wall -lssl -lcrypto -o bt_client file_a.c file_b.c

但是我遇到错误

undefined reference to `SHA1' at line 130

130行代码是:

readdir()显示不可见的文件

开始使用HTTP隧道

CreateFileMapping()用于写入文件长度未知的文本

CreateProcess()错误

WriteFile如何在不写入任何数据的情况下成功?

SHA1((unsigned char *) null_padded_name,20,(unsigned char *)name_sha1);

我想念什么? 请纠正我 谢谢 :)

使用系统命令从windows下的ac程序改变目录

设置UDP套接字的recv fcn超时

是否有可能在C ++中禁用stderr?

C – 将大量文件存储为单个资源

尝试在Windows上运行Qt应用程序的发行版本时出错

链接应用程序时,链接程序按命令行上的顺序查找依赖关系。

因此,如果在依赖于该库的源/目标文件之前添加一个库(如-lssl ),链接程序将不会找到任何依赖关系并忽略该库。

这意味着您必须始终将库放在命令行上。

尝试这个:

gcc -g -Wall -o bt_client file_a.c file_b.c -lssl -lcrypto

如果您确定符号SHA1存在于libssl.so或libcrypto.so

您需要在命令行末尾提供-lssl和-lcrypto:

gcc -g -Wall -o bt_client file_a.c file_b.c -lssl -lcrypto

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐