Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Qt QSslSocket:无法调用未解析的函数SSLv23_client_方法_Qt_Qnetworkaccessmanager_Qnetworkreply_Qnetworkrequest_Qsslsocket - Fatal编程技术网

Qt QSslSocket:无法调用未解析的函数SSLv23_client_方法

Qt QSslSocket:无法调用未解析的函数SSLv23_client_方法,qt,qnetworkaccessmanager,qnetworkreply,qnetworkrequest,qsslsocket,Qt,Qnetworkaccessmanager,Qnetworkreply,Qnetworkrequest,Qsslsocket,我正在尝试调用http和https并尝试解析响应。我得到了http调用的响应,但是对于https调用,我得到了这个错误 QSslSocket: cannot call unresolved function SSLv23_client_method QSslSocket: cannot call unresolved function SSL_CTX_new QSslSocket: cannot call unresolved function SSL_library_init QSslSock

我正在尝试调用http和https并尝试解析响应。我得到了http调用的响应,但是对于https调用,我得到了这个错误

QSslSocket: cannot call unresolved function SSLv23_client_method
QSslSocket: cannot call unresolved function SSL_CTX_new
QSslSocket: cannot call unresolved function SSL_library_init
QSslSocket: cannot call unresolved function ERR_get_error




void MyClass::on_push_button_clicked()
{
QString address = "New York";

QNetworkAccessManager *qnam__get_address=NULL;
QNetworkRequest request;


QString myurl;
//myurl = "http://google.com/complete/search?output=toolbar&q="+address;
myurl = "https://maps.googleapis.com/maps/api/geocode/xml?address=New York&key=google api key";
QUrl url(myurl);
request.setUrl(url);
qDebug() << url;
qnam__get_address = new QNetworkAccessManager(this);
if(qnam__get_address) {
    QObject::connect(qnam__get_address, SIGNAL(sslErrors(QNetworkReply*,QList<QSslError>)), this, SLOT(onSslError(QNetworkReply*, QList<QSslError>)));
    QObject::connect(qnam__get_address, SIGNAL(finished(QNetworkReply*)),this, SLOT(on_push_button_clicked_response(QNetworkReply*)));
    reply = qnam__get_address->get(request);
}
return;
}
void MyClass::onSslError(QNetworkReply* r, QList<QSslError> errors) 
{
r->ignoreSslErrors();
}

void MyClass::on_push_button_clicked_response(QNetworkReply* reply)
{
// no error received?
if (reply->error() == QNetworkReply::NoError)
{
    qDebug()<<"MyClass:: got the response";
}
// Some http error received
else
{
    qDebug() << ".......error";
}
if(reply)
{
    reply->deleteLater();
}
return;
}
QSslSocket:无法调用未解析函数SSLv23\u client\u方法
QSslSocket:无法调用未解析的函数SSL\u CTX\u new
QSslSocket:无法调用未解析的函数SSL\u library\u init
QSslSocket:无法调用未解析的函数ERR\u get\u error
void MyClass::在按下按钮时单击()
{
QString address=“纽约”;
QNetworkAccessManager*qnam\uuu get\u address=NULL;
QNetworkRequest请求;
qstringmyurl;
//myurl=”http://google.com/complete/search?output=toolbar&q=“+地址;
myurl=”https://maps.googleapis.com/maps/api/geocode/xml?address=New 约克&key=谷歌api密钥”;
QUrl url(myurl);
setUrl(url);
qDebug()获取(请求);
}
返回;
}
void MyClass::onssError(QNetworkReply*r,QList错误)
{
r->ignoreSslErrors();
}
void MyClass::在按下按钮时单击响应(QNetworkReply*reply)
{
//没有收到错误?
如果(回复->错误()==QNetworkReply::NoError)
{

愚蠢的高度。。。。。。。。。。。。。。 我安装了OpenSSL,它解决了这个问题。所以现在如果我尝试运行/调试它,我不会得到任何错误

我找到了这些URL不起作用的原因。 //myurl=”“+地址; myurl=“York&key=googleapi-key”;
添加端口后,我得到了回复。

我遇到了完全相同的问题。但是,我是devOPs工程师,所以我必须让它在用户机器上工作,而不仅仅是在开发人员环境中。您可以在修复程序上发布的任何其他信息都将为我节省一些时间,我将不胜感激。同时,我将调查所提供的内容并报告我的f绑定。谢谢sk110。我知道有点晚了。尝试在.exe文件所在的同一目录中添加以下dll,应该可以解决问题。1.ssleay32.dll 2.ssleay32MD.dll 3.ssleay32.dll 4.ssleay32MD.dll我修复它的方法是在另一台没有问题的Windows计算机上运行依赖项walker。依赖项walker found另一个由Intel构建的Sley dll。我用安装程序中工作机器上的这些dll替换了我的Sley dll,问题就解决了。我希望这有点道理。:d