Я построить OpenSSL вручную (статические библиотеки) следующие this guide теперь, когда я пытаюсь связать мой MFC тестовое приложение с libeay32.lib я получаю следующие ошибки:связь с OpenSSL Lib статически
1>Linking...
1>libeay32.lib(e_capi.obj) : error LNK2019: unresolved external symbol [email protected] referenced in function _capi_free_key
1>libeay32.lib(e_capi.obj) : error LNK2019: unresolved external symbol [email protected] referenced in function _capi_get_prov_info
1>libeay32.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp__CertOpenSto[email protected] referenced in function _capi_open_store
1>libeay32.lib(e_capi.obj) : error LNK2019: unresolved external symbol [email protected] referenced in function _capi_find_cert
1>libeay32.lib(e_capi.obj) : error LNK2019: unresolved external symbol [email protected] referenced in function _capi_find_cert
1>libeay32.lib(e_capi.obj) : error LNK2019: unresolved external symbol [email protected] referenced in function _capi_find_key
1>libeay32.lib(e_capi.obj) : error LNK2019: unresolved external symbol [email protected] referenced in function _capi_load_ssl_client_cert
Любые советы? Заранее спасибо.
EDIT: Я использовал исходный код OpenSSL 1.0.1t и командную строку Visual Studio 2008 для создания 32-битных статических библиотек (у меня не было успеха с версией 1.0.2h). Мое тестовое приложение прекрасно работает при динамическом связывании, но я хочу иметь возможность связываться со статическими библиотеками. Я использую OpenSSL для EVP симметричного шифрования и дешифрования
Привет, спасибо за повтор, я новичок в отношении OpenSSL и не вполне может следовать за вами, я боюсь. Я редактировал свой вопрос, предоставляя больше информации о моей среде. Я сделал точно так же, как сказал учебник для создания 32-битных статических библиотек, и ничего не было сказано для настройки с помощью опции enable-capieng? После добавления #pragma comment (lib, "crypt32"); мое приложение скомпилировано и работает, но я получаю утечки памяти при закрытии приложения – cagi
@cagi - OpenSSL полон утечек памяти. Возможно, что ваше приложение делает все правильно, но все же ловя на них выводы. Однако перед тем, как отключить утечку памяти в качестве внутренних проблем OpenSSL, перед очисткой обязательно очистите. Для этого см. [Как правильно uninitialize OpenSSL] (http://stackoverflow.com/q/29845527). – jww
Уверен, спасибо снова @jww – cagi