未定义参考EVP_idea_ecb在Debian(Undefined reference to EV

2019-10-21 14:37发布

我有以下代码:

#include <stdio.h>
#include <stdlib.h>
#include <openssl/evp.h>
int main (int argc, char *argv[]) {
    EVP_CIPHER *cipher;
    EVP_idea_ecb();
}

我知道,这不是很多,但它应该无投诉编译,但我得到

gcc Testfile.c -lssl -lcrypto
Testfile.c:(.text+0xec): undefined reference to `EVP_idea_ecb'

gcc Testfile.c -lss
/usr/bin/ld: /tmp/ccgbkhFA.o: undefined reference to symbol 'EVP_CIPHER_iv_length@@OPENSSL_1.0.0'
//usr/lib/x86_64-linux-gnu/libcrypto.so.1.0.0: error adding symbols: DSO missing from command linel

libssl-dev安装。 任何想法是怎么回事错在这里?

我的发行版:Debian的杰西在x64上。

Answer 1:

什么是行上线准备:

gcc Testfile.c -lssl -lcrypto
Testfile.c:(.text+0xec): undefined reference to `EVP_idea_ecb'

Debian的杰西64的OpenSSL库不包含EVP_idea_ecb。

gcc Testfile.c -lss
/usr/bin/ld: /tmp/ccgbkhFA.o: undefined reference to symbol 'EVP_CIPHER_iv_length@@OPENSSL_1.0.0'
//usr/lib/x86_64-linux-gnu/libcrypto.so.1.0.0: error adding symbols: DSO missing from command linel

从libss2命令行界面库包libss.so.2.0也没有帮助。



文章来源: Undefined reference to EVP_idea_ecb on Debian