我尝试在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行代码是:
开始使用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] 举报,一经查实,本站将立刻删除。