Проблема подключения OpenSSL и Crypto++
Возникло желание поковыряться в криптографии. Взял за основу код, написанный под Visual Studio с использованием библиотек OpenSSL. Пытаюсь его переписать под любимый C++ Builder 10.3.
А теперь, собственно, сама проблема. Библиотеки OpenSSL под Билдер не заточены, насколько я понял. Пытаюсь конвертировать по инструкции с помощью Coff2Omf или Elf - не выходит. Либо ошибка конвертации, либо библиотека создаётся, но в программе ошибка [ilink32 Error] Error: 'C:\OpenSSL_Win32\lib\LIBEAY.LIB' contains invalid OMF record, type 0x21 (possibly COFF). Пока я с этим мучался, обнаружил ещё проблему, что Билдер ругается на вложенные заголовочные файлы. Подключаешь openssl/e_os2.h, функции программа видит, а вот реализацию, которая описана в одном из include из e_os2.h не находит. Блуждая по сети в поисках решения проблемы, неоднократно натыкаюсь на изречения, типа "OpenSSL для криптографии используют только извращенцы". Подумал я над этим и решил поискать счастья в другом месте. Скачал CryptoPP. Документации полно, заточка под Builder есть, красота. Но не тут-то было. Попытка открыть проект cryptlib_bds для сборки библиотек закончилась(вернее даже не началась) ошибкой Цитата:
Где-то отковырял готовые библиотеки CryptoPP. Конвертил их тоже разными путями, но получаю всё тот-же "contains invalid OMF record". Научите, как мне правильно подключить хоть одну из описанных библиотек? |
Победил Crypto++. Расскажу, может кому поможет.
1. Устанавливаем С++Builder 2010. Скрытый текст
Попытки сборки на RAD Studio 10.2 и 10.3 не увенчались успехом
2. Скачиваем CryptoPP 6.0.0. Скрытый текст
Попытка установить какую-то версию из последних не прокатила. При сборке выскакивает куча ошибок + запросы на нехватающие файлы. В релизе описано, что данные файлы больше не используются, однако сборщик их требует. Моих мозгов не хватило, чтоб все эти проблемы решить)) Поэтому решено было взять более старую версию
3. В папке CryptoPP находим архив bds10.zip. Распаковываем в корень папки. 4. Открываем в Билдере проект cryptlib_bds.bdsproj. 5. Заходим в Project->Options->TLib и устанавливаем Set library page size на 1024, так как текущего значения недостаточно. 6. Project->Build. И наконец получаем заветную cryptlib_bds.lib в папке Debug_Build. |
Время: 11:45. |
Время: 11:45.
© OSzone.net 2001-