c - openssl api函数参考问题

我正在尝试生成和播放openssl椭圆曲线。运行这个:从文档中

EC_GROUP *curve;
if(NULL == (curve = EC_GROUP_new_by_curve_name(NID_secp224r1)))
      handleErrors(); 
EC_KEY *key;
if(NULL == (key = EC_KEY_new_by_curve_name(NID_secp224r1)))
     handleErrors();
if(1 != EC_KEY_generate_key(key)) handleErrors();

枯萎病包括:
#include <openssl/obj_mac.h>
#include <openssl/ec.h>
#include <openssl/bn.h>
#include <stdio.h>
#include <string.h>
#include <math.h>
#include <stdlib.h>

我已经查看了ec.h文件,它具有我正在调用的函数。我的错误是:
key_gen.c:(.text+0x15): undefined reference to `EC_GROUP_new_by_curve_name'
key_gen.c:(.text+0x2a): undefined reference to `handleErrors'
key_gen.c:(.text+0x34): undefined reference to `EC_KEY_new_by_curve_name'
key_gen.c:(.text+0x49): undefined reference to `handleErrors'
key_gen.c:(.text+0x55): undefined reference to `EC_KEY_generate_key'
key_gen.c:(.text+0x64): undefined reference to `handleErrors'

我需要更多的东西吗?


最佳答案:

编译时需要链接到OpenSSL加密库中:

gcc -g -Wall -Wextra -o key_gen key_gen.c -lcrypto

译文:来源   文章分类: c openssl cryptography signature elliptic-curve

相关文章:

c - 在调试与calloc相关的错误时需要帮助,并附上最少的代码[关闭]

ios - 使用最新的iOS sdk编译时,libcurl在iOS 9上崩溃

c - 关闭管道,dup2,C中的文件描述符?

c - 如何包括包装成新dll的dll文件?

c++ - 有效的标题名称

c - 如何在32位汇编中进行编译?

c - 指针出现意外结果

c - copy_to_user()和copy_from_user()用于基本数据类型

c - atomic_bool值更新,其他进程看不到

java - Java中的拆分数组单元