【问题标题】:undefined reference to `SHA1' in C [duplicate]C中对“SHA1”的未定义引用[重复]
【发布时间】:2019-04-12 05:52:01
【问题描述】:

我正在尝试编译这段用 C 编写的代码:

#include <stdio.h>
#include <stdlib.h>
#include <C:\OpenSSL-Win32\include\openssl\sha.h>
#include <string.h>

main() {
char data[] = "Hello, world!";
size_t length = strlen(data);

unsigned char hash[SHA_DIGEST_LENGTH];
SHA1(data, length, hash);
}

我正在使用 Dev-C++。它给了我错误:未定义的对“SHA1”的引用。 我创立了这篇文章: Undefined reference to `SHA1' 但我没有解决问题。 谁能帮帮我?

【问题讨论】:

  • 您需要在提供 SHA1 函数的库中进行链接,链接器设置您已链接到的答案的部分。
  • 我已经在链接器设置中添加了 2 '.a',还有什么?
  • 你一定没有做对。
  • 我刚去Project -> Project Option -> Parameters -> Add Library 选择了两个'.a'

标签: c sha1 dev-c++


【解决方案1】:

MrCaptain Alex、Rup 和 Barmar 写了正确的方法,但就我而言,我有 Ubuntu,当我链接时,需要添加库 -L/usr/lib -lcrypto

$ gcc -o executable_file source_file.c -L/usr/lib -lcrypto

就是这样;-)

【讨论】:

    猜你喜欢
    • 2015-04-29
    • 2014-06-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-16
    相关资源
    最近更新 更多