Как мне настроить OpenSSL для Qt в Windows 10? - PullRequest
0 голосов
/ 24 февраля 2019

Я пытаюсь установить OpenSSL на Windows 10 для использования с разработкой Qt.Я попытался установить из нескольких источников, добавить строки в мой файл .pro и добавить файлы DLL рядом со встроенным приложением, но ничего не работает.

Я пытался собрать и запустить пример запроса Qt HTTP,и он также не может использовать HTTPS, так что это не проблема с моим кодом или конфигурацией.

Итак, где мне взять OpenSSL для Windows и что мне делать после его установки?

1 Ответ

0 голосов
/ 24 февраля 2019

Я делал это раньше.

Для начала вам нужно создать исходный код OpenSSL 1.0.2 - доступно здесь .Вам нужно будет следовать инструкциям по сборке в файле INSTALL.W32.И есть некоторые исправленные инструкции в файле INSTALL.W64 для 64-битных сборок.

Две основные библиотеки DLL, которые вы создадите, это libeay32.dll и ssleay32.dll.(Также скопируйте файлы-заглушки libeay32.lib и ssleay32.lib и соответствующие файлы .pdb).

Если ваши исходные коды Qt уже созданы для OpenSSL, вы можете просто поместить эти две DLL в вашу папку Qt Bin (или куда бы ни загружался Qt5Networking.dll для вашего приложения).

Если ваш дистрибутив Qt собран из исходного кода, вам может потребоваться снова собрать Qt с опцией openssl-linked.Это позволит загружать Qt через неявную загрузку DLL.

LIB=%LIB%;%c:\openssl\out32dll

configure -commercial release -opengl dynamic openssl-linked -force-debug-info -nomake examples -llibeay32 -lssleay32

jom

Чтобы отладочная сборка соответствовала отладочным двоичным файлам Qt5, вам нужно будет повторить вышеописанные шаги, за исключением следования инструкциям OpenSSL для построения отладки.двоичные файлы в папку out32dll.dbg.

Если ваш дистрибутив qt был собран с динамической загрузкой openssl, вам просто нужно убедиться, что ssleay32.dll и libeay32.dll находятся в папке, которая находится в переменной окружения PATH.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...