QCA+OPENSSL QT5.7.1 VS2015 WIN10 编译

从学QGIS开始,我就一直在考虑怎么自己编译QGIS 64位DEBUG版本的库,无奈一直无法自己编译出QCA的库,我看过很多人的博客,但是一直没法编译,一次偶然的测试,让我明白了过来,原来QCA可以这样简单的编译出来,一直被别人的博客误导了!

什么也不说了,说多了都是泪啊!直接上方法!

*注:所有的编译工作的前提是,已经安装了VS2015和QT5.7.1,并安装了QT addin

一、编译准备

1.下载安装编译必须的ActivePerl

我的百度云盘:链接:http://pan.baidu.com/s/1jIfzHps 密码:cgdn

2.下载openssl源码

官方下载:https://www.openssl.org/source/

我的百度云盘:链接:http://pan.baidu.com/s/1eS9tWjC 密码:rb4a

3.下载qca源码

官方下载:https://userbase.kde.org/QCA

我的百度云盘:链接:http://pan.baidu.com/s/1hszg67E 密码:g6fk

4.下载CMAKE

我的百度云盘:链接:http://pan.baidu.com/s/1kV1InTP 密码:8bme

二、编译

1)安装ActivePerl

2)编译Openssl

首先解压Openssl,解压的路径不要带中文和空格,我解压的路径为:D:\qca_build\openssl-1.0.2l,接下来示范路径以这个为例!

1>开始菜单里打开“vs2015 x86本机工具命令提示符“或“vs2015 x64本机工具命令提示符“

编译32位:“vs2015 x86本机工具命令提示符“

编译64位:“vs2015 x64本机工具命令提示符“


A)在命令行先进入openssl-1.0.2l目录
D:
cd D:\qca_build\openssl-1.0.2l

B)配置输出目录和编译类型【编译32位、64位;release、debug有区别】 

命令格式如下:

perl Configure [类型] no-asm --prefix="[输出目录]"

[编译类型]可以选择以下:

参数 含义
debug-VC-WIN32 编译32位debug版本
VC-WIN32 编译32位release版本
debug-VC-WIN64A 编译64位debug版本
VC-WIN64A 编译64位release版本

C)配置模式:

【编译32位openssl】 

命令如下:

ms\do_nasm

【编译64位openssl】 

命令如下:

ms\do_win64a.bat

D)编译【编译静态库、动态库有区别】

【编译openssl静态链接库】 

命令如下:

nmake -f ms\nt.mak
nmake -f ms\nt.mak test
nmake -f ms\nt.mak install

【编译openssl动态链接库】 

命令如下:

nmake -f ms\ntdll.mak
nmake -f ms\ntdll.mak test
nmake -f ms\ntdll.mak install

最后生的库文件在:D:\usr\local\ssl 目录下

更具体的Openssl的编译说明请见我参考的博客,它对我的帮助很大:

http://blog.csdn.net/YAOJINGKAO/article/details/53041165?locationNum=10

3)编译qca

将QCA的源码解压到没有中文和空格的目录下,我解压的路径为:D:\qca_build\qca-2.1.3

同时创建一个新的文件夹为build用来,生成qca的编译工程。

安装cmake并设置cmake的path环境变量。

运行CMake Gui 并设置源码目录为D:\qca_build\qca-2.1.3,生成目录为D:\qca_build\build

执行Configure 并设置为Visual Studio 14 2015工程,然后等待完成。

设置SSL库目录如下:


然后点击Configure等 Configure Done,然后点击Generate ,等待Generate Done

最后用V2015打开qca.sln工程文件,然后编译生成qca-qt5库文件



猜你喜欢

转载自blog.csdn.net/octdream/article/details/75043138