我想写一个调用新浪微博的程序,但是由于新浪微博的API(https://api.weibo.com/oauth2/access_token)是https连接的,所以需要使用ssl。可惜我编译qt 4.8的时候没有编译openssl的库。
我想问,我现在下载了openssl网站上已经编译好的dll(libssl32.dll,ssleay32.dll,libeay32.dll),有什么办法让qt动态调用这些库吗?
我试了在.pro文件中加入这些库,但好像没用。具体现象是QNetworkAccessManager 访问https时候一直没有response返回。
------解决方案--------------------
1、只有dll文件就动态载入这些库,如果有lib文件可以静态载入;
2、https访问必须同过ssl通道才行,你只是把库加入到项目中而没有具体调用相应的函数,也是没有效果的。
------解决方案--------------------
编译库,费时也费力。
------解决方案--------------------
zhu_xz兄说的对呀!需要编译Qt库。
我记得三年前我做过这个,这是我当时写的一个手册,不过可能已经过时了:
1. 安装OpenSSL
首先确保安装了ActivePerl
解压openssl-0.9.8k.tar.gz到C:\OpenSSL
在命令行中执行以下命令:
> cd C:\OpenSSL
> ms\mingw32
编译结束后,将在C:\OpenSSL\outinc中生成Windows平台的头文件,在C:\OpenSSL\out中生成库文件。
2. 之后编译Qt
在configure中加入参数 -openssl -I C:\OpenSSL\outinc -L C:\OpenSSL\out
然后执行make
3. 编译完成后把C:\OpenSSL\libeay32.dll、C:\OpenSSL\libssl32.dll拷贝到Qt的bin目录中,并且把libssl32.dll改名为ssleay32.dll。
------解决方案--------------------