使用Poco进行静态链接SSL

5

我正在尝试使用静态链接Poco库来构建dll,该库需要OpenSSL。

当我使用libeay32MDd.libssleay32MDd.lib对Poco库进行静态链接时,它工作正常,但需要OpenSSL的DLL文件。如果我使用libeay32MTd.libssleay32MTd.lib,会出现以下错误:

libeay32MTd.lib(e_capi.obj):error LNK2019:未解析的外部符号__imp_CertOpenStore,在函数capi_open_store中引用8> libeay32MTd.lib(e_capi.obj):error LNK2019:未解析的外部符号__imp_CertCloseStore,在函数capi_find_key中引用8> libeay32MTd.lib(e_capi.obj):error LNK2019:未解析的外部符号__imp_CertEnumCertificatesInStore,在函数capi_find_cert中引用8> libeay32MTd.lib(e_capi.obj):error LNK2019:未解析的外部符号__imp_CertFindCertificateInStore,在函数capi_find_cert中引用8> libeay32MTd.lib(e_capi.obj):error LNK2019:未解析的外部符号__imp_CertDuplicateCertificateContext,在函数capi_load_ssl_client_cert中引用8> libeay32MTd.lib(e_capi.obj):error LNK2019:未解析的外部符号__imp_CertFreeCertificateContext,在函数capi_find_key中引用8> libeay32MTd.lib(e_capi.obj):error LNK2019:未解析的外部符号__imp_CertGetCertificateContextProperty,在函数capi_cert_get_fname中引用

1个回答

14
你需要链接 crypt32.lib 库。

1
这是正确的。额外说明:crypt32.lib 是一个Windows内置库,所以不用担心(就像我一样!)如果您在构建OpenSSL时没有看到它出现在编译结果中。 - Arthur Tacca

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接