用 libssl 编译不工作
compiling with libssl does not work
我有一个非常简单的代码:
#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
平台:Ubuntu16.04
-lssl
不需要,-lcrypto
就够了,最后一定要:
gcc -o main main.c -lcrypto
(或者任何你想要调用的程序都在 -o
之后)
我有一个非常简单的代码:
#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
平台:Ubuntu16.04
-lssl
不需要,-lcrypto
就够了,最后一定要:
gcc -o main main.c -lcrypto
(或者任何你想要调用的程序都在 -o
之后)