首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > QT开发 >

QT中能否调用openssl的库?该怎么解决

2012-03-25 
QT中能否调用openssl的库?我想写一个调用新浪微博的程序,但是由于新浪微博的API(https://api.weibo.com/oa

QT中能否调用openssl的库?
我想写一个调用新浪微博的程序,但是由于新浪微博的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。


[解决办法]

探讨

因为蛋疼的我想用gcc4.6编译的qt库。 = =

热点排行