QCA building errors for OpenSSL
-
When I run
nmake
to build QCA I get a long list of errors like uses of undefined types for example.This is the complete log from when I run
nmake
:Microsoft (R) Program Maintenance Utility Version 14.00.24210.0 Copyright (C) Microsoft Corporation. All rights reserved. [ 31%] Built target qca-qt5 [ 44%] Built target qca-gnupg [ 45%] Built target qca-logger [ 46%] Building CXX object plugins/qca-ossl/CMakeFiles/qca-ossl.dir/qca-ossl.cpp.obj qca-ossl.cpp D:\__DEV__\C++ Libs & DLLs\qca-2.1.3\plugins\qca-ossl\qca-ossl.cpp(130): error C2027: use of undefined type 'DSA_SIG_st' D:\Programs\Qt\5.9.2\msvc2015\include\openssl/dsa.h(70): note: see declaration of 'DSA_SIG_st' D:\__DEV__\C++ Libs & DLLs\qca-2.1.3\plugins\qca-ossl\qca-ossl.cpp(130): error C2227: left of '->r' must point to class/struct/union/generic type D:\__DEV__\C++ Libs & DLLs\qca-2.1.3\plugins\qca-ossl\qca-ossl.cpp(131): error C2027: use of undefined type 'DSA_SIG_st' D:\Programs\Qt\5.9.2\msvc2015\include\openssl/dsa.h(70): note: see declaration of 'DSA_SIG_st' D:\__DEV__\C++ Libs & DLLs\qca-2.1.3\plugins\qca-ossl\qca-ossl.cpp(131): error C2227: left of '->s' must point to class/struct/union/generic type D:\__DEV__\C++ Libs & DLLs\qca-2.1.3\plugins\qca-ossl\qca-ossl.cpp(150): error C2027: use of undefined type 'DSA_SIG_st' D:\Programs\Qt\5.9.2\msvc2015\include\openssl/dsa.h(70): note: see declaration of 'DSA_SIG_st' D:\__DEV__\C++ Libs & DLLs\qca-2.1.3\plugins\qca-ossl\qca-ossl.cpp(150): error C2227: left of '->r' must point to class/struct/union/generic type D:\__DEV__\C++ Libs & DLLs\qca-2.1.3\plugins\qca-ossl\qca-ossl.cpp(151): error C2027: use of undefined type 'DSA_SIG_st' D:\Programs\Qt\5.9.2\msvc2015\include\openssl/dsa.h(70): note: see declaration of 'DSA_SIG_st' D:\__DEV__\C++ Libs & DLLs\qca-2.1.3\plugins\qca-ossl\qca-ossl.cpp(151): error C2227: left of '->s' must point to class/struct/union/generic type D:\__DEV__\C++ Libs & DLLs\qca-2.1.3\plugins\qca-ossl\qca-ossl.cpp(402): error C3861: 'M_ASN1_IA5STRING_new': identifier not found D:\__DEV__\C++ Libs & DLLs\qca-2.1.3\plugins\qca-ossl\qca-ossl.cpp(414): error C3861: 'M_ASN1_IA5STRING_new': identifier not found D:\__DEV__\C++ Libs & DLLs\qca-2.1.3\plugins\qca-ossl\qca-ossl.cpp(426): error C3861: 'M_ASN1_IA5STRING_new': identifier not found D:\__DEV__\C++ Libs & DLLs\qca-2.1.3\plugins\qca-ossl\qca-ossl.cpp(1040): error C2079: 'opensslQCAPlugin::opensslHashContext::m_context' uses undefined struct 'evp_md_ctx_st' D:\__DEV__\C++ Libs & DLLs\qca-2.1.3\plugins\qca-ossl\qca-ossl.cpp(1007): error C2664: 'int EVP_DigestInit(EVP_MD_CTX *,const EVP_MD *)': cannot convert argument 1 from 'int *' to 'EVP_MD_CTX *' D:\__DEV__\C++ Libs & DLLs\qca-2.1.3\plugins\qca-ossl\qca-ossl.cpp(1007): note: Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast D:\__DEV__\C++ Libs & DLLs\qca-2.1.3\plugins\qca-ossl\qca-ossl.cpp(1012): error C3861: 'EVP_MD_CTX_cleanup': identifier not found D:\__DEV__\C++ Libs & DLLs\qca-2.1.3\plugins\qca-ossl\qca-ossl.cpp(1017): error C3861: 'EVP_MD_CTX_cleanup': identifier not found D:\__DEV__\C++ Libs & DLLs\qca-2.1.3\plugins\qca-ossl\qca-ossl.cpp(1018): error C2664: 'int EVP_DigestInit(EVP_MD_CTX *,const EVP_MD *)': cannot convert argument 1 from 'int *' to 'EVP_MD_CTX *' D:\__DEV__\C++ Libs & DLLs\qca-2.1.3\plugins\qca-ossl\qca-ossl.cpp(1018): note: Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast D:\__DEV__\C++ Libs & DLLs\qca-2.1.3\plugins\qca-ossl\qca-ossl.cpp(1023): error C2664: 'int EVP_DigestUpdate(EVP_MD_CTX *,const void *,std::size_t)': cannot convert argument 1 from 'int *' to 'EVP_MD_CTX *' D:\__DEV__\C++ Libs & DLLs\qca-2.1.3\plugins\qca-ossl\qca-ossl.cpp(1023): note: Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast D:\__DEV__\C++ Libs & DLLs\qca-2.1.3\plugins\qca-ossl\qca-ossl.cpp(1029): error C2664: 'int EVP_DigestFinal(EVP_MD_CTX *,unsigned char *,unsigned int *)': cannot convert argument 1 from 'int *' to 'EVP_MD_CTX *' D:\__DEV__\C++ Libs & DLLs\qca-2.1.3\plugins\qca-ossl\qca-ossl.cpp(1029): note: Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast D:\__DEV__\C++ Libs & DLLs\qca-2.1.3\plugins\qca-ossl\qca-ossl.cpp(1166): error C2079: 'opensslQCAPlugin::opensslPbkdf1Context::m_context' uses undefined struct 'evp_md_ctx_st' D:\__DEV__\C++ Libs & DLLs\qca-2.1.3\plugins\qca-ossl\qca-ossl.cpp(1050): error C2664: 'int EVP_DigestInit(EVP_MD_CTX *,const EVP_MD *)': cannot convert argument 1 from 'int *' to 'EVP_MD_CTX *' D:\__DEV__\C++ Libs & DLLs\qca-2.1.3\plugins\qca-ossl\qca-ossl.cpp(1050): note: Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast D:\__DEV__\C++ Libs & DLLs\qca-2.1.3\plugins\qca-ossl\qca-ossl.cpp(1084): error C2664: 'int EVP_DigestUpdate(EVP_MD_CTX *,const void *,std::size_t)': cannot convert argument 1 from 'int *' to 'EVP_MD_CTX *' D:\__DEV__\C++ Libs & DLLs\qca-2.1.3\plugins\qca-ossl\qca-ossl.cpp(1084): note: Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast D:\__DEV__\C++ Libs & DLLs\qca-2.1.3\plugins\qca-ossl\qca-ossl.cpp(1085): error C2664: 'int EVP_DigestUpdate(EVP_MD_CTX *,const void *,std::size_t)': cannot convert argument 1 from 'int *' to 'EVP_MD_CTX *' D:\__DEV__\C++ Libs & DLLs\qca-2.1.3\plugins\qca-ossl\qca-ossl.cpp(1085): note: Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast D:\__DEV__\C++ Libs & DLLs\qca-2.1.3\plugins\qca-ossl\qca-ossl.cpp(1087): error C2664: 'int EVP_DigestFinal(EVP_MD_CTX *,unsigned char *,unsigned int *)': cannot convert argument 1 from 'int *' to 'EVP_MD_CTX *' D:\__DEV__\C++ Libs & DLLs\qca-2.1.3\plugins\qca-ossl\qca-ossl.cpp(1087): note: Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast D:\__DEV__\C++ Libs & DLLs\qca-2.1.3\plugins\qca-ossl\qca-ossl.cpp(1091): error C2664: 'int EVP_DigestInit(EVP_MD_CTX *,const EVP_MD *)': cannot convert argument 1 from 'int *' to 'EVP_MD_CTX *' D:\__DEV__\C++ Libs & DLLs\qca-2.1.3\plugins\qca-ossl\qca-ossl.cpp(1091): note: Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast D:\__DEV__\C++ Libs & DLLs\qca-2.1.3\plugins\qca-ossl\qca-ossl.cpp(1092): error C2664: 'int EVP_DigestUpdate(EVP_MD_CTX *,const void *,std::size_t)': cannot convert argument 1 from 'int *' to 'EVP_MD_CTX *' D:\__DEV__\C++ Libs & DLLs\qca-2.1.3\plugins\qca-ossl\qca-ossl.cpp(1092): note: Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast D:\__DEV__\C++ Libs & DLLs\qca-2.1.3\plugins\qca-ossl\qca-ossl.cpp(1093): error C2664: 'int EVP_DigestFinal(EVP_MD_CTX *,unsigned char *,unsigned int *)': cannot convert argument 1 from 'int *' to 'EVP_MD_CTX *' D:\__DEV__\C++ Libs & DLLs\qca-2.1.3\plugins\qca-ossl\qca-ossl.cpp(1093): note: Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast D:\__DEV__\C++ Libs & DLLs\qca-2.1.3\plugins\qca-ossl\qca-ossl.cpp(1139): error C2664: 'int EVP_DigestUpdate(EVP_MD_CTX *,const void *,std::size_t)': cannot convert argument 1 from 'int *' to 'EVP_MD_CTX *' D:\__DEV__\C++ Libs & DLLs\qca-2.1.3\plugins\qca-ossl\qca-ossl.cpp(1139): note: Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast D:\__DEV__\C++ Libs & DLLs\qca-2.1.3\plugins\qca-ossl\qca-ossl.cpp(1140): error C2664: 'int EVP_DigestUpdate(EVP_MD_CTX *,const void *,std::size_t)': cannot convert argument 1 from 'int *' to 'EVP_MD_CTX *' D:\__DEV__\C++ Libs & DLLs\qca-2.1.3\plugins\qca-ossl\qca-ossl.cpp(1140): note: Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast D:\__DEV__\C++ Libs & DLLs\qca-2.1.3\plugins\qca-ossl\qca-ossl.cpp(1142): error C2664: 'int EVP_DigestFinal(EVP_MD_CTX *,unsigned char *,unsigned int *)': cannot convert argument 1 from 'int *' to 'EVP_MD_CTX *' D:\__DEV__\C++ Libs & DLLs\qca-2.1.3\plugins\qca-ossl\qca-ossl.cpp(1142): note: Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast D:\__DEV__\C++ Libs & DLLs\qca-2.1.3\plugins\qca-ossl\qca-ossl.cpp(1149): error C2664: 'int EVP_DigestInit(EVP_MD_CTX *,const EVP_MD *)': cannot convert argument 1 from 'int *' to 'EVP_MD_CTX *' D:\__DEV__\C++ Libs & DLLs\qca-2.1.3\plugins\qca-ossl\qca-ossl.cpp(1149): note: Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast D:\__DEV__\C++ Libs & DLLs\qca-2.1.3\plugins\qca-ossl\qca-ossl.cpp(1150): error C2664: 'int EVP_DigestUpdate(EVP_MD_CTX *,const void *,std::size_t)': cannot convert argument 1 from 'int *' to 'EVP_MD_CTX *' D:\__DEV__\C++ Libs & DLLs\qca-2.1.3\plugins\qca-ossl\qca-ossl.cpp(1150): note: Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast D:\__DEV__\C++ Libs & DLLs\qca-2.1.3\plugins\qca-ossl\qca-ossl.cpp(1151): error C2664: 'int EVP_DigestFinal(EVP_MD_CTX *,unsigned char *,unsigned int *)': cannot convert argument 1 from 'int *' to 'EVP_MD_CTX *' D:\__DEV__\C++ Libs & DLLs\qca-2.1.3\plugins\qca-ossl\qca-ossl.cpp(1151): note: Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast D:\__DEV__\C++ Libs & DLLs\qca-2.1.3\plugins\qca-ossl\qca-ossl.cpp(1266): error C2079: 'opensslQCAPlugin::opensslHMACContext::m_context' uses undefined struct 'hmac_ctx_st' D:\__DEV__\C++ Libs & DLLs\qca-2.1.3\plugins\qca-ossl\qca-ossl.cpp(1234): error C3861: 'HMAC_CTX_init': identifier not found D:\__DEV__\C++ Libs & DLLs\qca-2.1.3\plugins\qca-ossl\qca-ossl.cpp(1239): error C2664: 'int HMAC_Init_ex(HMAC_CTX *,const void *,int,const EVP_MD *,ENGINE *)': cannot convert argument 1 from 'int *' to 'HMAC_CTX *' D:\__DEV__\C++ Libs & DLLs\qca-2.1.3\plugins\qca-ossl\qca-ossl.cpp(1239): note: Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast D:\__DEV__\C++ Libs & DLLs\qca-2.1.3\plugins\qca-ossl\qca-ossl.cpp(1249): error C2664: 'int HMAC_Update(HMAC_CTX *,const unsigned char *,std::size_t)': cannot convert argument 1 from 'int *' to 'HMAC_CTX *' D:\__DEV__\C++ Libs & DLLs\qca-2.1.3\plugins\qca-ossl\qca-ossl.cpp(1249): note: Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast D:\__DEV__\C++ Libs & DLLs\qca-2.1.3\plugins\qca-ossl\qca-ossl.cpp(1255): error C2664: 'int HMAC_Final(HMAC_CTX *,unsigned char *,unsigned int *)': cannot convert argument 1 from 'int *' to 'HMAC_CTX *' D:\__DEV__\C++ Libs & DLLs\qca-2.1.3\plugins\qca-ossl\qca-ossl.cpp(1255): note: Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast D:\__DEV__\C++ Libs & DLLs\qca-2.1.3\plugins\qca-ossl\qca-ossl.cpp(1256): error C3861: 'HMAC_CTX_cleanup': identifier not found D:\__DEV__\C++ Libs & DLLs\qca-2.1.3\plugins\qca-ossl\qca-ossl.cpp(1280): error C2079: 'opensslQCAPlugin::EVPKey::mdctx' uses undefined struct 'evp_md_ctx_st' D:\__DEV__\C++ Libs & DLLs\qca-2.1.3\plugins\qca-ossl\qca-ossl.cpp(1295): error C2027: use of undefined type 'evp_pkey_st' D:\Programs\Qt\5.9.2\msvc2015\include\openssl/ssl.h(1700): note: see declaration of 'evp_pkey_st' D:\__DEV__\C++ Libs & DLLs\qca-2.1.3\plugins\qca-ossl\qca-ossl.cpp(1295): error C2227: left of '->references' must point to class/struct/union/generic type D:\__DEV__\C++ Libs & DLLs\qca-2.1.3\plugins\qca-ossl\qca-ossl.cpp(1295): error C2065: 'CRYPTO_LOCK_EVP_PKEY': undeclared identifier D:\__DEV__\C++ Libs & DLLs\qca-2.1.3\plugins\qca-ossl\qca-ossl.cpp(1295): error C3861: 'CRYPTO_add': identifier not found D:\__DEV__\C++ Libs & DLLs\qca-2.1.3\plugins\qca-ossl\qca-ossl.cpp(1325): error C2664: 'int EVP_MD_CTX_reset(EVP_MD_CTX *)': cannot convert argument 1 from 'int *' to 'EVP_MD_CTX *' D:\__DEV__\C++ Libs & DLLs\qca-2.1.3\plugins\qca-ossl\qca-ossl.cpp(1325): note: Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast D:\__DEV__\C++ Libs & DLLs\qca-2.1.3\plugins\qca-ossl\qca-ossl.cpp(1326): error C2664: 'int EVP_DigestInit_ex(EVP_MD_CTX *,const EVP_MD *,ENGINE *)': cannot convert argument 1 from 'int *' to 'EVP_MD_CTX *' D:\__DEV__\C++ Libs & DLLs\qca-2.1.3\plugins\qca-ossl\qca-ossl.cpp(1326): note: Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast D:\__DEV__\C++ Libs & DLLs\qca-2.1.3\plugins\qca-ossl\qca-ossl.cpp(1342): error C2664: 'int EVP_MD_CTX_reset(EVP_MD_CTX *)': cannot convert argument 1 from 'int *' to 'EVP_MD_CTX *' D:\__DEV__\C++ Libs & DLLs\qca-2.1.3\plugins\qca-ossl\qca-ossl.cpp(1342): note: Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast D:\__DEV__\C++ Libs & DLLs\qca-2.1.3\plugins\qca-ossl\qca-ossl.cpp(1343): error C2664: 'int EVP_DigestInit_ex(EVP_MD_CTX *,const EVP_MD *,ENGINE *)': cannot convert argument 1 from 'int *' to 'EVP_MD_CTX *' D:\__DEV__\C++ Libs & DLLs\qca-2.1.3\plugins\qca-ossl\qca-ossl.cpp(1343): note: Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast D:\__DEV__\C++ Libs & DLLs\qca-2.1.3\plugins\qca-ossl\qca-ossl.cpp(1355): error C2664: 'int EVP_DigestUpdate(EVP_MD_CTX *,const void *,std::size_t)': cannot convert argument 1 from 'int *' to 'EVP_MD_CTX *' D:\__DEV__\C++ Libs & DLLs\qca-2.1.3\plugins\qca-ossl\qca-ossl.cpp(1355): note: Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast D:\__DEV__\C++ Libs & DLLs\qca-2.1.3\plugins\qca-ossl\qca-ossl.cpp(1363): error C2664: 'int EVP_DigestUpdate(EVP_MD_CTX *,const void *,std::size_t)': cannot convert argument 1 from 'int *' to 'EVP_MD_CTX *' D:\__DEV__\C++ Libs & DLLs\qca-2.1.3\plugins\qca-ossl\qca-ossl.cpp(1363): note: Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast D:\__DEV__\C++ Libs & DLLs\qca-2.1.3\plugins\qca-ossl\qca-ossl.cpp(1376): error C2027: use of undefined type 'evp_pkey_st' D:\Programs\Qt\5.9.2\msvc2015\include\openssl/ssl.h(1700): note: see declaration of 'evp_pkey_st' D:\__DEV__\C++ Libs & DLLs\qca-2.1.3\plugins\qca-ossl\qca-ossl.cpp(1376): error C2227: left of '->type' must point to class/struct/union/generic type D:\__DEV__\C++ Libs & DLLs\qca-2.1.3\plugins\qca-ossl\qca-ossl.cpp(1379): error C2027: use of undefined type 'evp_pkey_st' D:\Programs\Qt\5.9.2\msvc2015\include\openssl/ssl.h(1700): note: see declaration of 'evp_pkey_st' D:\__DEV__\C++ Libs & DLLs\qca-2.1.3\plugins\qca-ossl\qca-ossl.cpp(1379): error C2227: left of '->pkey' must point to class/struct/union/generic type D:\__DEV__\C++ Libs & DLLs\qca-2.1.3\plugins\qca-ossl\qca-ossl.cpp(1379): error C2228: left of '.rsa' must have class/struct/union D:\__DEV__\C++ Libs & DLLs\qca-2.1.3\plugins\qca-ossl\qca-ossl.cpp(1380): error C2660: 'RSA_private_encrypt': function does not take 4 arguments D:\__DEV__\C++ Libs & DLLs\qca-2.1.3\plugins\qca-ossl\qca-ossl.cpp(1386): error C2027: use of undefined type 'evp_pkey_st' D:\Programs\Qt\5.9.2\msvc2015\include\openssl/ssl.h(1700): note: see declaration of 'evp_pkey_st' D:\__DEV__\C++ Libs & DLLs\qca-2.1.3\plugins\qca-ossl\qca-ossl.cpp(1386): error C2227: left of '->type' must point to class/struct/union/generic type D:\__DEV__\C++ Libs & DLLs\qca-2.1.3\plugins\qca-ossl\qca-ossl.cpp(1398): error C2664: 'int EVP_SignFinal(EVP_MD_CTX *,unsigned char *,unsigned int *,EVP_PKEY *)': cannot convert argument 1 from 'int *' to 'EVP_MD_CTX *' D:\__DEV__\C++ Libs & DLLs\qca-2.1.3\plugins\qca-ossl\qca-ossl.cpp(1398): note: Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast D:\__DEV__\C++ Libs & DLLs\qca-2.1.3\plugins\qca-ossl\qca-ossl.cpp(1421): error C2027: use of undefined type 'evp_pkey_st' D:\Programs\Qt\5.9.2\msvc2015\include\openssl/ssl.h(1700): note: see declaration of 'evp_pkey_st' D:\__DEV__\C++ Libs & DLLs\qca-2.1.3\plugins\qca-ossl\qca-ossl.cpp(1421): error C2227: left of '->type' must point to class/struct/union/generic type D:\__DEV__\C++ Libs & DLLs\qca-2.1.3\plugins\qca-ossl\qca-ossl.cpp(1423): error C2027: use of undefined type 'evp_pkey_st' D:\Programs\Qt\5.9.2\msvc2015\include\openssl/ssl.h(1700): note: see declaration of 'evp_pkey_st' D:\__DEV__\C++ Libs & DLLs\qca-2.1.3\plugins\qca-ossl\qca-ossl.cpp(1423): error C2227: left of '->pkey' must point to class/struct/union/generic type D:\__DEV__\C++ Libs & DLLs\qca-2.1.3\plugins\qca-ossl\qca-ossl.cpp(1423): error C2228: left of '.rsa' must have class/struct/union D:\__DEV__\C++ Libs & DLLs\qca-2.1.3\plugins\qca-ossl\qca-ossl.cpp(1424): error C2660: 'RSA_public_decrypt': function does not take 4 arguments D:\__DEV__\C++ Libs & DLLs\qca-2.1.3\plugins\qca-ossl\qca-ossl.cpp(1430): error C2027: use of undefined type 'evp_pkey_st' D:\Programs\Qt\5.9.2\msvc2015\include\openssl/ssl.h(1700): note: see declaration of 'evp_pkey_st' D:\__DEV__\C++ Libs & DLLs\qca-2.1.3\plugins\qca-ossl\qca-ossl.cpp(1430): error C2227: left of '->type' must point to class/struct/union/generic type D:\__DEV__\C++ Libs & DLLs\qca-2.1.3\plugins\qca-ossl\qca-ossl.cpp(1450): error C2664: 'int EVP_VerifyFinal(EVP_MD_CTX *,const unsigned char *,unsigned int,EVP_PKEY *)': cannot convert argument 1 from 'int *' to 'EVP_MD_CTX *' D:\__DEV__\C++ Libs & DLLs\qca-2.1.3\plugins\qca-ossl\qca-ossl.cpp(1450): note: Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast D:\__DEV__\C++ Libs & DLLs\qca-2.1.3\plugins\qca-ossl\qca-ossl.cpp(1564): error C2027: use of undefined type 'dsa_st' D:\Programs\Qt\5.9.2\msvc2015\include\openssl/evp.h(920): note: see declaration of 'dsa_st' D:\__DEV__\C++ Libs & DLLs\qca-2.1.3\plugins\qca-ossl\qca-ossl.cpp(1564): error C2227: left of '->p' must point to class/struct/union/generic type D:\__DEV__\C++ Libs & DLLs\qca-2.1.3\plugins\qca-ossl\qca-ossl.cpp(1565): error C2027: use of undefined type 'dsa_st' D:\Programs\Qt\5.9.2\msvc2015\include\openssl/evp.h(920): note: see declaration of 'dsa_st' D:\__DEV__\C++ Libs & DLLs\qca-2.1.3\plugins\qca-ossl\qca-ossl.cpp(1565): error C2227: left of '->q' must point to class/struct/union/generic type D:\__DEV__\C++ Libs & DLLs\qca-2.1.3\plugins\qca-ossl\qca-ossl.cpp(1566): error C2027: use of undefined type 'dsa_st' D:\Programs\Qt\5.9.2\msvc2015\include\openssl/evp.h(920): note: see declaration of 'dsa_st' D:\__DEV__\C++ Libs & DLLs\qca-2.1.3\plugins\qca-ossl\qca-ossl.cpp(1566): error C2227: left of '->g' must point to class/struct/union/generic type D:\__DEV__\C++ Libs & DLLs\qca-2.1.3\plugins\qca-ossl\qca-ossl.cpp(1829): error C2027: use of undefined type 'evp_pkey_st' D:\Programs\Qt\5.9.2\msvc2015\include\openssl/ssl.h(1700): note: see declaration of 'evp_pkey_st' D:\__DEV__\C++ Libs & DLLs\qca-2.1.3\plugins\qca-ossl\qca-ossl.cpp(1829): error C2227: left of '->pkey' must point to class/struct/union/generic type D:\__DEV__\C++ Libs & DLLs\qca-2.1.3\plugins\qca-ossl\qca-ossl.cpp(1829): error C2228: left of '.rsa' must have class/struct/union D:\__DEV__\C++ Libs & DLLs\qca-2.1.3\plugins\qca-ossl\qca-ossl.cpp(1832): error C2027: use of undefined type 'evp_pkey_st' D:\Programs\Qt\5.9.2\msvc2015\include\openssl/ssl.h(1700): note: see declaration of 'evp_pkey_st' D:\__DEV__\C++ Libs & DLLs\qca-2.1.3\plugins\qca-ossl\qca-ossl.cpp(1832): error C2227: left of '->pkey' must point to class/struct/union/generic type D:\__DEV__\C++ Libs & DLLs\qca-2.1.3\plugins\qca-ossl\qca-ossl.cpp(1832): error C2228: left of '.rsa' must have class/struct/union D:\__DEV__\C++ Libs & DLLs\qca-2.1.3\plugins\qca-ossl\qca-ossl.cpp(1855): error C2027: use of undefined type 'evp_pkey_st' D:\Programs\Qt\5.9.2\msvc2015\include\openssl/ssl.h(1700): note: see declaration of 'evp_pkey_st' D:\__DEV__\C++ Libs & DLLs\qca-2.1.3\plugins\qca-ossl\qca-ossl.cpp(1855): error C2227: left of '->pkey' must point to class/struct/union/generic type D:\__DEV__\C++ Libs & DLLs\qca-2.1.3\plugins\qca-ossl\qca-ossl.cpp(1855): error C2228: left of '.rsa' must have class/struct/union D:\__DEV__\C++ Libs & DLLs\qca-2.1.3\plugins\qca-ossl\qca-ossl.cpp(1870): error C2027: use of undefined type 'evp_pkey_st' D:\Programs\Qt\5.9.2\msvc2015\include\openssl/ssl.h(1700): note: see declaration of 'evp_pkey_st' D:\__DEV__\C++ Libs & DLLs\qca-2.1.3\plugins\qca-ossl\qca-ossl.cpp(1870): error C2227: left of '->pkey' must point to class/struct/union/generic type D:\__DEV__\C++ Libs & DLLs\qca-2.1.3\plugins\qca-ossl\qca-ossl.cpp(1870): error C2228: left of '.rsa' must have class/struct/union D:\__DEV__\C++ Libs & DLLs\qca-2.1.3\plugins\qca-ossl\qca-ossl.cpp(1903): error C2027: use of undefined type 'evp_pkey_st' D:\Programs\Qt\5.9.2\msvc2015\include\openssl/ssl.h(1700): note: see declaration of 'evp_pkey_st' D:\__DEV__\C++ Libs & DLLs\qca-2.1.3\plugins\qca-ossl\qca-ossl.cpp(1903): error C2227: left of '->pkey' must point to class/struct/union/generic type D:\__DEV__\C++ Libs & DLLs\qca-2.1.3\plugins\qca-ossl\qca-ossl.cpp(1903): error C2228: left of '.rsa' must have class/struct/union D:\__DEV__\C++ Libs & DLLs\qca-2.1.3\plugins\qca-ossl\qca-ossl.cpp(2024): error C2027: use of undefined type 'rsa_st' D:\Programs\Qt\5.9.2\msvc2015\include\openssl/evp.h(914): note: see declaration of 'rsa_st' D:\__DEV__\C++ Libs & DLLs\qca-2.1.3\plugins\qca-ossl\qca-ossl.cpp(2024): error C2227: left of '->n' must point to class/struct/union/generic type D:\__DEV__\C++ Libs & DLLs\qca-2.1.3\plugins\qca-ossl\qca-ossl.cpp(2025): error C2027: use of undefined type 'rsa_st' D:\Programs\Qt\5.9.2\msvc2015\include\openssl/evp.h(914): note: see declaration of 'rsa_st' D:\__DEV__\C++ Libs & DLLs\qca-2.1.3\plugins\qca-ossl\qca-ossl.cpp(2025): error C2227: left of '->e' must point to class/struct/union/generic type D:\__DEV__\C++ Libs & DLLs\qca-2.1.3\plugins\qca-ossl\qca-ossl.cpp(2026): error C2027: use of undefined type 'rsa_st' D:\Programs\Qt\5.9.2\msvc2015\include\openssl/evp.h(914): note: see declaration of 'rsa_st' D:\__DEV__\C++ Libs & DLLs\qca-2.1.3\plugins\qca-ossl\qca-ossl.cpp(2026): error C2227: left of '->p' must point to class/struct/union/generic type D:\__DEV__\C++ Libs & DLLs\qca-2.1.3\plugins\qca-ossl\qca-ossl.cpp(2027): error C2027: use of undefined type 'rsa_st' D:\Programs\Qt\5.9.2\msvc2015\include\openssl/evp.h(914): note: see declaration of 'rsa_st' D:\__DEV__\C++ Libs & DLLs\qca-2.1.3\plugins\qca-ossl\qca-ossl.cpp(2027): error C2227: left of '->q' must point to class/struct/union/generic type D:\__DEV__\C++ Libs & DLLs\qca-2.1.3\plugins\qca-ossl\qca-ossl.cpp(2028): error C2027: use of undefined type 'rsa_st' D:\Programs\Qt\5.9.2\msvc2015\include\openssl/evp.h(914): note: see declaration of 'rsa_st' D:\__DEV__\C++ Libs & DLLs\qca-2.1.3\plugins\qca-ossl\qca-ossl.cpp(2028): error C2227: left of '->d' must point to class/struct/union/generic type D:\__DEV__\C++ Libs & DLLs\qca-2.1.3\plugins\qca-ossl\qca-ossl.cpp(2030): error C2027: use of undefined type 'rsa_st' D:\Programs\Qt\5.9.2\msvc2015\include\openssl/evp.h(914): note: see declaration of 'rsa_st' D:\__DEV__\C++ Libs & DLLs\qca-2.1.3\plugins\qca-ossl\qca-ossl.cpp(2030): error C2227: left of '->n' must point to class/struct/union/generic type D:\__DEV__\C++ Libs & DLLs\qca-2.1.3\plugins\qca-ossl\qca-ossl.cpp(2030): error C2227: left of '->e' must point to class/struct/union/generic type D:\__DEV__\C++ Libs & DLLs\qca-2.1.3\plugins\qca-ossl\qca-ossl.cpp(2030): fatal error C1003: error count exceeds 100; stopping compilation NMAKE : fatal error U1077: 'C:\PROGRA~2\MICROS~1.0\VC\bin\cl.exe' : return code '0x2' Stop. NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\nmake.exe"' : return code '0x2' Stop. NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\nmake.exe"' : return code '0x2'
Looking at it, it looks like there is something wrong with OpenSSL. I have reinstalled it just to make sure that wasn't the problem (I got it from here (Win64 OpenSSL v1.1.0g): https://slproweb.com/products/Win32OpenSSL.html) and I am able to run the OpenSSL command in CMD.
I copied the openssl folder found in includes of my OpenSSL-Win64 directory and copied it into the includes folder for Qt (the path is D:\Programs\Qt\5.9.2\msvc2015\include\openssl as seen in the errors).
Is there just something wrong with the files from OpenSSL?
-
Hi,
I haven't checked the latest version of QCA but since OpenSSL broke API and ABI with the 1.1 series, I'd recommend trying again with the latest 1.0 release of OpenSSL.
-
I tried the Win64 OpenSSL v1.0.2n one, that got rid of those errors, but didn't fix the problem. Instead I get these:
Microsoft (R) Program Maintenance Utility Version 14.00.24210.0 Copyright (C) Microsoft Corporation. All rights reserved. [ 31%] Built target qca-qt5 [ 44%] Built target qca-gnupg [ 45%] Built target qca-logger NMAKE : fatal error U1073: don't know how to make 'C:\OpenSSL-Win32\lib\VC\libssl32MDd.lib' Stop. NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\nmake.exe"' : return code '0x2' Stop. NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\nmake.exe"' : return code '0x2' Stop.
I thought it might be due to needing a Win32 version on the C drive like in the error, but even after installing Win32 OpenSSL v1.0.2n there I still get the same error.
Something else I tried was generating the Make files using cmake again since I'm using another version of OpenSSL then when I first did it. This however didn't help either.
-
How did you pass the parameters for OpenSSL to cmake ?
-
I'd check the cmake configuration output to see if everything has been detected properly.
-
Well, there is the very nice and long warnings intended for project developers (unsure if that concerns me)
No actual errors, so I don't know if the warnings is giving a hint for anything related to my problem. They are all about
Policy CMP0026 is not set: Disallow use of the LOCATION target property.
except two where it says it won't be compiled with SHA-0 and MD2 which I could care less about.Warnings:
CMake Deprecation Warning at CMakeLists.txt:24 (cmake_policy): The OLD behavior for policy CMP0020 will be removed from a future version of CMake. The cmake-policies(7) manual explains that the OLD behaviors of all policies are deprecated and that a policy should be set to OLD only under specific short-term circumstances. Projects should be ported to the NEW behavior and not rely on setting a policy to OLD. -- Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE) -- Building with Qt5 support -- Installed package is NOT relocatable -- Checking for certstore.. -- Using built in certstore. -- certstore path: D:/__DEV__/C++ Libs & DLLs/qca-2.1.3/certs/rootcerts.pem -- mlock(2) does not take a void * CMake Warning (dev) at cmake/modules/QcaMacro.cmake:105 (get_target_property): Policy CMP0026 is not set: Disallow use of the LOCATION target property. Run "cmake --help-policy CMP0026" for policy details. Use the cmake_policy command to set the policy and suppress this warning. The LOCATION property should not be read from target "qca-qt5". Use the target name directly with add_custom_command, or use the generator expression $<TARGET_FILE>, as appropriate. Call Stack (most recent call first): src/CMakeLists.txt:181 (install_pdb) This warning is for project developers. Use -Wno-dev to suppress it. CMake Warning (dev) at cmake/modules/QcaMacro.cmake:109 (get_target_property): Policy CMP0026 is not set: Disallow use of the LOCATION target property. Run "cmake --help-policy CMP0026" for policy details. Use the cmake_policy command to set the policy and suppress this warning. The LOCATION property should not be read from target "qca-qt5". Use the target name directly with add_custom_command, or use the generator expression $<TARGET_FILE>, as appropriate. Call Stack (most recent call first): src/CMakeLists.txt:181 (install_pdb) This warning is for project developers. Use -Wno-dev to suppress it. CMake Warning (dev) at cmake/modules/QcaMacro.cmake:105 (get_target_property): Policy CMP0026 is not set: Disallow use of the LOCATION target property. Run "cmake --help-policy CMP0026" for policy details. Use the cmake_policy command to set the policy and suppress this warning. The LOCATION property should not be read from target "qca-gnupg". Use the target name directly with add_custom_command, or use the generator expression $<TARGET_FILE>, as appropriate. Call Stack (most recent call first): plugins/qca-gnupg/CMakeLists.txt:55 (install_pdb) This warning is for project developers. Use -Wno-dev to suppress it. CMake Warning (dev) at cmake/modules/QcaMacro.cmake:109 (get_target_property): Policy CMP0026 is not set: Disallow use of the LOCATION target property. Run "cmake --help-policy CMP0026" for policy details. Use the cmake_policy command to set the policy and suppress this warning. The LOCATION property should not be read from target "qca-gnupg". Use the target name directly with add_custom_command, or use the generator expression $<TARGET_FILE>, as appropriate. Call Stack (most recent call first): plugins/qca-gnupg/CMakeLists.txt:55 (install_pdb) This warning is for project developers. Use -Wno-dev to suppress it. CMake Warning (dev) at cmake/modules/QcaMacro.cmake:105 (get_target_property): Policy CMP0026 is not set: Disallow use of the LOCATION target property. Run "cmake --help-policy CMP0026" for policy details. Use the cmake_policy command to set the policy and suppress this warning. The LOCATION property should not be read from target "qca-logger". Use the target name directly with add_custom_command, or use the generator expression $<TARGET_FILE>, as appropriate. Call Stack (most recent call first): plugins/qca-logger/CMakeLists.txt:24 (install_pdb) This warning is for project developers. Use -Wno-dev to suppress it. CMake Warning (dev) at cmake/modules/QcaMacro.cmake:109 (get_target_property): Policy CMP0026 is not set: Disallow use of the LOCATION target property. Run "cmake --help-policy CMP0026" for policy details. Use the cmake_policy command to set the policy and suppress this warning. The LOCATION property should not be read from target "qca-logger". Use the target name directly with add_custom_command, or use the generator expression $<TARGET_FILE>, as appropriate. Call Stack (most recent call first): plugins/qca-logger/CMakeLists.txt:24 (install_pdb) This warning is for project developers. Use -Wno-dev to suppress it. CMake Warning at plugins/qca-ossl/CMakeLists.txt:18 (message): qca-ossl will be compiled without MD2 digest algorithm support CMake Warning at plugins/qca-ossl/CMakeLists.txt:32 (message): qca-ossl will be compiled without SHA-0 digest algorithm support CMake Warning (dev) at cmake/modules/QcaMacro.cmake:105 (get_target_property): Policy CMP0026 is not set: Disallow use of the LOCATION target property. Run "cmake --help-policy CMP0026" for policy details. Use the cmake_policy command to set the policy and suppress this warning. The LOCATION property should not be read from target "qca-ossl". Use the target name directly with add_custom_command, or use the generator expression $<TARGET_FILE>, as appropriate. Call Stack (most recent call first): plugins/qca-ossl/CMakeLists.txt:67 (install_pdb) This warning is for project developers. Use -Wno-dev to suppress it. CMake Warning (dev) at cmake/modules/QcaMacro.cmake:109 (get_target_property): Policy CMP0026 is not set: Disallow use of the LOCATION target property. Run "cmake --help-policy CMP0026" for policy details. Use the cmake_policy command to set the policy and suppress this warning. The LOCATION property should not be read from target "qca-ossl". Use the target name directly with add_custom_command, or use the generator expression $<TARGET_FILE>, as appropriate. Call Stack (most recent call first): plugins/qca-ossl/CMakeLists.txt:67 (install_pdb) This warning is for project developers. Use -Wno-dev to suppress it. CMake Warning (dev) at cmake/modules/QcaMacro.cmake:105 (get_target_property): Policy CMP0026 is not set: Disallow use of the LOCATION target property. Run "cmake --help-policy CMP0026" for policy details. Use the cmake_policy command to set the policy and suppress this warning. The LOCATION property should not be read from target "qca-softstore". Use the target name directly with add_custom_command, or use the generator expression $<TARGET_FILE>, as appropriate. Call Stack (most recent call first): plugins/qca-softstore/CMakeLists.txt:24 (install_pdb) This warning is for project developers. Use -Wno-dev to suppress it. CMake Warning (dev) at cmake/modules/QcaMacro.cmake:109 (get_target_property): Policy CMP0026 is not set: Disallow use of the LOCATION target property. Run "cmake --help-policy CMP0026" for policy details. Use the cmake_policy command to set the policy and suppress this warning. The LOCATION property should not be read from target "qca-softstore". Use the target name directly with add_custom_command, or use the generator expression $<TARGET_FILE>, as appropriate. Call Stack (most recent call first): plugins/qca-softstore/CMakeLists.txt:24 (install_pdb) This warning is for project developers. Use -Wno-dev to suppress it. Plugins: qca-botan off qca-cyrus-sasl off qca-gcrypt off qca-gnupg on qca-logger on qca-nss off qca-ossl on qca-pkcs11 off qca-softstore on CMake Warning (dev) at cmake/modules/QcaMacro.cmake:105 (get_target_property): Policy CMP0026 is not set: Disallow use of the LOCATION target property. Run "cmake --help-policy CMP0026" for policy details. Use the cmake_policy command to set the policy and suppress this warning. The LOCATION property should not be read from target "mozcerts-qt5". Use the target name directly with add_custom_command, or use the generator expression $<TARGET_FILE>, as appropriate. Call Stack (most recent call first): tools/mozcerts/CMakeLists.txt:11 (install_pdb) This warning is for project developers. Use -Wno-dev to suppress it. CMake Warning (dev) at cmake/modules/QcaMacro.cmake:109 (get_target_property): Policy CMP0026 is not set: Disallow use of the LOCATION target property. Run "cmake --help-policy CMP0026" for policy details. Use the cmake_policy command to set the policy and suppress this warning. The LOCATION property should not be read from target "mozcerts-qt5". Use the target name directly with add_custom_command, or use the generator expression $<TARGET_FILE>, as appropriate. Call Stack (most recent call first): tools/mozcerts/CMakeLists.txt:11 (install_pdb) This warning is for project developers. Use -Wno-dev to suppress it. CMake Warning (dev) at cmake/modules/QcaMacro.cmake:105 (get_target_property): Policy CMP0026 is not set: Disallow use of the LOCATION target property. Run "cmake --help-policy CMP0026" for policy details. Use the cmake_policy command to set the policy and suppress this warning. The LOCATION property should not be read from target "qcatool-qt5". Use the target name directly with add_custom_command, or use the generator expression $<TARGET_FILE>, as appropriate. Call Stack (most recent call first): tools/qcatool/CMakeLists.txt:15 (install_pdb) This warning is for project developers. Use -Wno-dev to suppress it. CMake Warning (dev) at cmake/modules/QcaMacro.cmake:109 (get_target_property): Policy CMP0026 is not set: Disallow use of the LOCATION target property. Run "cmake --help-policy CMP0026" for policy details. Use the cmake_policy command to set the policy and suppress this warning. The LOCATION property should not be read from target "qcatool-qt5". Use the target name directly with add_custom_command, or use the generator expression $<TARGET_FILE>, as appropriate. Call Stack (most recent call first): tools/qcatool/CMakeLists.txt:15 (install_pdb) This warning is for project developers. Use -Wno-dev to suppress it. QCA prefix is D:/Programs/Qt/5.9.2/msvc2015 Plugins will be installed to D:/Programs/Qt/5.9.2/msvc2015/plugins Binary will be installed to D:/Programs/Qt/5.9.2/msvc2015/bin Library will be installed to D:/Programs/Qt/5.9.2/msvc2015/lib Public headers will be installed to D:/Programs/Qt/5.9.2/msvc2015/include/Qca-qt5 Private headers will be installed to D:/Programs/Qt/5.9.2/msvc2015/include/Qca-qt5 Feature file will be installed to D:/Programs/Qt/5.9.2/msvc2015/mkspecs/features Documentation will be installed to D:/Programs/Qt/Docs/Qt-5.9.2/html/qca Man page will be installed to D:/Programs/Qt/5.9.2/msvc2015/man Pkg-config file will be installed to D:/Programs/Qt/5.9.2/msvc2015/lib/pkgconfig -- Configuring done -- Generating done -- Build files have been written to: D:/__DEV__/C++ Libs & DLLs/qca-2.1.3
-
They mean that the project is using old technics that are now considered as deprecated.
This should not change anything for you. -
@mikkel1156
The right way to get against policy CMP0026 warnings .. which also can appear as errors on newer Cmake versions is by setting:cmake_policy(SET CMP0026 OLD)
this should be done at least in qca\cmake\modules\QcaMacro.cmake