从学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本机工具命令提示符“
D:
cd D:\qca_build\openssl-1.0.2l
命令格式如下:
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库文件