Пытаюсь запустить простой пример парсинга с Википедии, но он выдаёт ошибку :
qt.network.ssl: QSslSocket: cannot call unresolved function SSLv23_client_method
qt.network.ssl: QSslSocket: cannot call unresolved function SSL_CTX_new
qt.network.ssl: QSslSocket: cannot call unresolved function SSL_library_init
qt.network.ssl: QSslSocket: cannot call unresolved function ERR_get_error
Network Error:
"Error creating SSL context ()"
qt.network.ssl: QSslSocket: cannot call unresolved function ERR_get_error
Response Received:
""
Использую Windows 8 и mingw32-make. Пробовал искать библиотеки : LIBS += -libeay32 LIBS += -ssleay32 и подключать. Качал тут. Но всё равно не работает.
Сам пример:
#include <QCoreApplication>
#include <QNetworkAccessManager>
#include <QNetworkReply>
#include <QNetworkRequest>
#include <QDebug>
#include <QTextStream>
#include <QSslError>
int main(int argc, char *argv[])
{
QCoreApplication application(argc, argv);
QNetworkAccessManager qnam;
const QNetworkRequest wikireq(QUrl(QStringLiteral("https://en.wikipedia.org/w/api.php?action=query&format=json&titles=lemon")));
QNetworkReply* wikirep = qnam.get(wikireq);
QObject::connect(wikirep,&QNetworkReply::finished,[wikirep]()->void{
QTextStream repStream(wikirep);
qDebug() << "Response Received:\n" << repStream.readAll();
wikirep->deleteLater();
});
QObject::connect(wikirep,QOverload<QNetworkReply::NetworkError>::of(&QNetworkReply::error),[wikirep]()->void{
qDebug() << "Network Error:\n" << wikirep->errorString();
wikirep->deleteLater();
});
QObject::connect(wikirep,&QNetworkReply::sslErrors,[wikirep](const QList<QSslError> &errors)->void{
qDebug() << "SSL Errors:";
for(auto&& err : errors)
qDebug() << err.errorString();
wikirep->deleteLater();
});
return application.exec();
}
Мне помогла ссылка. Я просто установил, что там требуется и добавил в pro файл две библиотеки из папки bin установленного приложения.
LIBS += -Llibeay32 -Lssleay32
Сборка персонального компьютера от Artline: умный выбор для современных пользователей