私は、opensslを手動で(静的ライブラリ)ビルドしました このガイド 今、MFCテストアプリをlibeay32.libにリンクしようとすると、次のエラーが発生します。
1>Linking...
1>libeay32.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp__CertFreeCertificateContext@4 referenced in function _capi_free_key
1>libeay32.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp__CertGetCertificateContextProperty@16 referenced in function _capi_get_prov_info
1>libeay32.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp__CertOpenStore@20 referenced in function _capi_open_store
1>libeay32.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp__CertFindCertificateInStore@24 referenced in function _capi_find_cert
1>libeay32.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp__CertEnumCertificatesInStore@8 referenced in function _capi_find_cert
1>libeay32.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp__CertCloseStore@8 referenced in function _capi_find_key
1>libeay32.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp__CertDuplicateCertificateContext@4 referenced in function _capi_load_ssl_client_cert
何かアドバイス?前もって感謝します。
編集:32ビットの静的ライブラリを構築するために、OpenSSL 1.0.1tソースコードとVisual Studio 2008コマンドプロンプトを使用しました(1.0.2hバージョンでは成功しませんでした)。私のテストアプリは動的にリンクすると問題なく動作しますが、静的ライブラリとリンクできるようにしたいと思います。 EVP対称暗号化および復号化にOpenSSLを使用しています
mFCテストアプリをlibeay32.libにリンクしようとすると、次のエラーが発生します...
enable-capieng
で構成する必要があります。 OpenSSL wikiの コンパイルとインストール および OpenSSLでのCAPIエンジンの使用方法 メーリングリストアーカイブも参照してください。
error LNK2019: unresolved external symbol __imp__CertFreeCertificateContext@4 referenced in function _capi_free_key ...
適切に構成したら、Windowsのcrypt32.lib
ライブラリに対してリンクする必要があります。たとえば、 CertFreeCertificateContext functions を参照してください。 Windowsでは、MSVCソースファイルに以下を追加するだけで十分です。
#pragma comment (lib, "crypt32");