jntass / TASSL-1.1.1b

此仓库已停止维护,请移步https://github.com/jntass/TASSL-1.1.1
http://www.tass.com.cn
Other
138 stars 67 forks source link

引用 EC_KEY 这类结构体内的成员时编译报错类型不完整 #21

Closed idleGG closed 2 years ago

idleGG commented 4 years ago

访问到 EC_KEY 等结构体内部成员变量,在编译时报错: error: dereferencing pointer to incomplete type ‘EC_KEY’ 看到 EC_KEY 的结构体定义在 ec_clc.h 中,而编译安装后开放头文件中不包含这个文件,请问是可以直接拷贝出来使用么?或者是有其他使用注意事项?

yanshichao0226 commented 3 years ago

一般来说OPENSSL内部结构都是不对外开放的,所以外部引出的头文件只有结构声明,没有结构定义,直接访问结构内部成员会报错”不完整类型访问“。 如果需要访问结构某个成员,建议查找相关接口,常用的成员访问都会通过函数接口开放;如果必须访问某个内部成员又没有相关函数接口,可以直接把结构体定义拷贝过来编译,不过不建议这么做