Ошибка «Зависимая библиотека DLL не найдена» в проекте C / WinRT при использовании OpenSSL-1.1.1g

#openssl #windows-runtime

#openssl #windows-среда выполнения

Вопрос:

Я хотел бы использовать OpenSSL-1.1.1g в проекте C / WinRT. Итак, я создал тестовый проект. Ниже показано, что я сделал в этом проекте:

1. Установите C / WinRT в VS2019

2. Создайте проект «TestOpenSSL1.1.1g» в каталоге «c:temp » (Файл-> Создать-> Проект-> Пустое приложение (C / WinRT))

3. Установите Strawberry Perl и NASM

4. Загрузите OpenSSL-1.1.1g и извлеките его в «c:tempopenssl-1.1.1g «

5. Откройте «Командную строку разработчика для VS 2019» с «Запуск от имени администратора»

6. Введите каталог «openssl-1.1.1g»

cd c:tempopenssl-1.1.1g

7. Настройте openssl

настройка perl VC-WIN32 —prefix=»c:tempTestOpenSSL1.1.1gopenssl-1.1.1g «

8.Скомпилируйте openssl

nmake

9. Установите openssl

nmake install

10.So я видел, что каталоги «bin», «html», «include», «lib» были созданы в «c:tempTestOpenSSL1.1.1gopenssl-1.1.1g «

11.Включить заголовочные файлы openssl

Добавьте «$ (ProjectDir)..openssl-1.1.1g include» в обозревателе решений-> Свойства-> Свойства конфигурации-> C / C -> Общие-> Дополнительные включаемые каталоги

12. Добавьте зависимости «libcrypto.lib» и «libssl.lib»

Добавьте «$ (ProjectDir)..openssl-1.1.1glib libcrypto.lib; $(ProjectDir)..openssl-1.1.1g lib libssl.lib» в обозревателе решений-> Свойства-> Свойства конфигурации-> Компоновщик-> Ввод-> Дополнительные зависимости

13.Изменить MainPage.cpp

#включить <openssl/ssl.h>

Добавьте инструкцию «OPENSSL_init();» в функцию «MainPage::MainPage»;

После всего этого я создал этот проект, ошибки не было. но если я отлаживаю этот проект, появляются ошибки:введите описание изображения здесь

введите описание изображения здесьвведите описание изображения здесь

Ответ №1:

Это работает после использования исходных кодов из openssl и настройки с помощью команды «perl Configure VC-WIN32-UWP«.