компиляция с libssl не работает - PullRequest
0 голосов
/ 25 мая 2018

У меня очень простой код:

#include <openssl/sha.h>

int main() {
    SHA_CTX sha1;
    SHA_Init(&sha1);
}

Я установил libssl-dev и libcrypto++-dev:

Однако при сборке произошла ошибка при использовании следующей команды:

$ gcc -lcrypto -lssl main.c
/tmp/ccfnCAxT.o: In function `main':
main.c:(.text+0x1f): undefined reference to `SHA1_Init'
collect2: error: ld returned 1 exit status
$
$ gcc -lssl main.c
/tmp/ccfnCAxT.o: In function `main':
main.c:(.text+0x1f): undefined reference to `SHA1_Init'
collect2: error: ld returned 1 exit status

Платформа: Ubuntu 16.04

1 Ответ

0 голосов
/ 25 мая 2018

-lssl не требуется, -lcrypto достаточно, и оно должно быть в конце:

gcc -o main main.c -lcrypto

(или как вы хотите, чтобы ваша программа вызывалась, идет после -o)

...