openssl編譯后,會生成bin,include,lib文件夾;
寫了一個簡單的例子:#include <openssl/md5.h>
#include <openssl/evp.h> #include <openssl/rsa.h> #include <openssl/x509.h> #include <openssl/err.h> #include <openssl/pem.h> #include <openssl/ossl_typ.h> int main() { EVP_PKEY* pkey = EVP_PKEY_new(); getchar(); return 1; }
死活編譯不過,提示:undefined struct evp_md_ctx_st。
轉到ossl_type.h看,發現typedef struct evp_md_ctx_st EVP_MD_CTX;,但沒有evp_md_ctx_st的定義,整個include文件夾的頭文件中都沒有;只好在下載的源代碼包中搜索,發現evp_locl.h中有定義,把它取出放到include文件夾中,然后#include <openssl/evp_locl.h>,再次編譯,居然通過了。