我尝试在Linux上编译一个库。这个库文件使用<openssl/sha.h>
库。我已经将这个库包含在源文件中。之后,我使用标志-lssl
和标志-lcrypto
来编译这个项目。因此,这里是我的命令:未定义对'SHA1'的引用,在行
gcc -g -Wall -lssl -lcrypto -o bt_client file_a.c file_b.c
但我遇到错误:在线路130
undefined reference to `SHA1' at line 130
代码是:
SHA1((unsigned char *) null_padded_name, 20, (unsigned char *)name_sha1);
难道我错过了什么?请纠正我。谢谢:)
这有让您覆盖通过将使用代码之间的封装代码/包调用的有趣的功能和实际的库代码。 –
谢谢:)我明白了:D –
不正确。我总是把我的图书馆放在第一位,我的.C和.o文件放在最后。 (没有很好的理由,复制一个旧的makefile来创建下一个。)我在Linux上使用g ++。下面的答案帮助了我。我在说“-lssl”。我需要添加“-lcrypto”。 –