新近写个Qt
demo,想要使用压缩和平化解压多少个文件的功效,并不行使额外进度。英特网仿效了广大素材,发现唯有QuaZip相比较适合本人的要求。不过QuaZip只提供源码,由此需求团结来编写翻译。

固然QT5.5.1和VisualStudio
二〇一四都早已公布相当久了,可是QT项目组视乎不会为QT5.5.1专程公布预编译的QT5.5.1
for windows(二〇一六)版本的,也不会特意发表Visual Studio 2016 Add-in for
QT5.5.1的。並且官方也未尝显明的文书档案教导在visualstudio
二零一五条件下开拓QT5选用的开采人士编写翻译和铺排相应的情形。

QuaZip简介

QuaZIP is a simple C++ wrapper over Gilles Vollant’s ZIP/UNZIP package
that can be used to access ZIP archives. It uses the Qt toolkit.

简易来讲,QuaZip正是zlib(解压缩软件)的Qt封装类,在Qt开辟景况中丰盛好用。

后天本人就把温馨搜求出来的格局分享出去,希望对我们有所启发。

编写翻译步骤

  1. 在VS中下载Qt插件(全名Qt Visual Studio
    Tools)并设置,安装后陈设下插件使用的Qt版本。
  2. 在sourceforge官方网址下载QuaZip源码,并解压缩。
  3. 用插件展开QuaZip解压缩目录下quazip子目录中的quazip.pro工程文件(VS会提示重新生成配置文件,采纳“是”)。
  4. 下载zlib的源代码,并解压缩。
  5. 在VS项目性质中增添解压后的zlib源文件,具体请百度。
  6. 重视来了,用VS打开zconf.h文件,并将:

    #if 1           /* HAVE_UNISTD_H -- this line is updated by ./configure */
    #  include <sys/types.h> /* for off_t */
    #  include <unistd.h>    /* for SEEK_* and off_t */
    #  ifdef VMS
    #    include <unixio.h>   /* for off_t */
    #  endif
    #  define z_off_t off_t
    #endif
    

    这几行替换为以下代码:

    #ifdef HAVE_UNISTD_H
    #include <sys types.h=""> / for off_t /
    #include <unistd.h> / for SEEK_ and off_t */
    #define z_off_t off_t
    #endif
    

    那是因为windows下并没有unistd.h这么些文件,那是类unix系统才有的。

  7. 顺风编写翻译通过,生成动态链接库。

1.        首先,我们到网址下载源码包,加压源码包到磁盘。

感想

  1. 数不完开源软件对windows系统的支持不是很好,就好像QuaZip,假诺您用zlib源码一同编译,那会更蛋疼。
  2. 开软塌塌件的体贴更新是一大首要难题,上边十三分bug实际莺时经存在9年了,一直从未拿走修改。

2.        由于编写翻译QtWekbit必要ICU andANGLE 库,ICU库需求单独下载和编写翻译,从下载ICU4Cversion
56.1并解压到磁盘,目录地方参见随后求证。

3.        在Qt
5.5.1的源码包中还设有二个BUG,假设直白编写翻译的话在编写翻译QT3D模块的时候会报没有找到Zlib.h的荒唐而中断编写翻译,所以参照如下提醒修改qt-everywhere-opensource-src-5.5.1\qt3d\src\3rdparty\assimp目录下的assimp.pri文件。可参看地址。

必发官网手机版 1

4.        在编写翻译QT5.5.1事先还需求安装配置一下的工具和情形:

l  ActivePython 2.7 or
later

l   style=”text-decoration: underline;”>Perl

l   style=”text-decoration: underline;”>Ruby

l   style=”text-decoration: underline;”>cygwin

自个儿设置使用的是Python 3.5, strawberry-perl-5.22.0.1-64bit.msi (64 bit) ,
rubyinstaller-2.2.3-x64.exe(x64)和cygwin64,在那之中cygwin安装配置采取以下的原委:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58

 

Archive
    unzip
    xz
    zip
Devel
    autoconf
    automake
    binutils
    cmake
    cvs
    cygwin64-libiconv
    gcc-core
    gcc-g++ (3.4.4-3)
    gdb
    gettext-devel
    git
    git-completion
    libtool
    make
    mingw-binutils
    mingw-gcc-core
    mingw-gcc-g++
    mingw-pthreads
    mingw-runtime
    mingw-w32api
    mingw64-i686-binutils
    mingw64-i686-gcc-core
    mingw64-i686-g++
    mingw64-i686-pkgconfig
    mingw64-i686-runtime
    mingw64-x86_64-binutils
    mingw64-x86_64-gcc-core
    mingw64-x86_64-g++
    mingw64-x86_64-pkg-config
    mingw64-x86_64-runtime
    nasm
    patch
    patchutils
    pkg-config
    subversion
Editor
    vim
Libs
    crypt
    expat
    libgcrypt-devel
    libgcrypt20

    Zlib
Net
    curl
    openssh
Text
    gettext
Utils
    cygutils-extra
    dos2unix
Web
    wget

反省确认在%PATH%情状变量中都有刚安装的这一个工具的运维路径。

5.        经过地点的步调能够起来开始展览编写翻译ICU4C version
56.1和QT5.5.1的源码了,注意在编写翻译前必要检讨以下两点:


预留20G的磁盘空间用以寄存编写翻译生成的中等文件和目的文件,不然会师世编写翻译错误

l文本存放的不二诀要结构如上边包车型大巴图示,然后展开CMD命令窗口运转作者提供的运维脚本,X64系统的运维build-x64.bat``,否则运行build-x86.bat.

├── build-x64.bat

├── build-x86.bat

├── icu

│   └── source

│       ├── ...

│       └── configure

└── qt-everywhere-opensource-src-5.5.1

├── ...

└── configure

以我的机器的x64版本的build-x64.bat文件为例,具体内容如下:

REM Set up \Microsoft Visual Studio 2015

CALL "H:\Microsoft Visual Studio14.0\VC\vcvarsall.bat" amd64

ECHO ON

SET _CD=%CD%

SET _PATH=%PATH%

SET ICU_SOURCE=%_CD%\icu\source

SET ICU_DIST=%_CD%\icu\dist-64

SETQT_SOURCE=%_CD%\qt-everywhere-opensource-src-5.5.1

SET QT_BUILD=%_CD%\msvc2015_64

SET QT_DIST=H:\Qt\Qt5.5.1\msvc2015_64

REM Building ICU

RD /s /q %ICU_SOURCE%\lib

RD /s /q %ICU_SOURCE%\bin

RD /s /q %ICU_DIST%

SET PATH=%PATH%;C:\cygwin64\bin

CD /D %ICU_SOURCE%

dos2unix *

dos2unix -f configure

for /F %%P in ('cygpath -u %ICU_DIST%') dobash runConfigureICU Cygwin/MSVC -prefix=%%P

make clean

make && make install

CD /D %_CD%

SET PATH=%_PATH%

SET PATH=%PATH%;%ICU_DIST%\bin;%ICU_DIST%\lib

SET INCLUDE=%INCLUDE%;%ICU_DIST%\include

SET LIB=%LIB%;%ICU_DIST%\lib

REM Building Qt

SETPATH=F:\Strawberry\c\bin;F:\Strawberry\perl\site\bin;F:\Strawberry\perl\bin;%PATH%

CALL F:\Ruby22-x64\bin\setrbvars.bat

ECHO ON

SETPATH=%QT_SOURCE%\qtbase\bin;%QT_SOURCE%\gnuwin32\bin;%PATH%

REM Uncomment the below line when using agit checkout of the source repository

REM SETPATH=%QT_SOURCE%\qtrepotools\bin;%PATH%

SET QMAKESPEC=win32-msvc2015

RD /s /q %QT_BUILD%

MKDIR %QT_BUILD%

CD /D %QT_BUILD%

CALL %QT_SOURCE%\configure -confirm-license-prefix %QT_DIST% -mp -debug-and-release -icu -nomake examples -nomake tests-skip qtwebkit-examples -opensource

ECHO ON

nmake && nmake install

CD /D %_CD%

COPY /V /Y %ICU_DIST%\lib\icudt56.dll%QT_DIST%\bin\

COPY /V /Y %ICU_DIST%\lib\icuin56.dll%QT_DIST%\bin\

COPY /V /Y %ICU_DIST%\lib\icuuc56.dll%QT_DIST%\bin\

6.        要是以上的布署都不错的话开机让机器编写翻译多少个钟头后就能够在对象路径下生成QT5.5.1的运作文件。倘若要在vs2014集成情况中支出QT5.5.1行使需求在vs二〇一四境遇中装置相应的插件并开始展览布局,由于QT项目组未有提供相应的插件,所以网络非常少看到有相应的配置案例。辛亏微软提供了三个插件叫做Qt5Package,他和原生的plugin提供相似的成效。an
Extension (Tools> Extensions & Updates) called Qt5Packagewhich has the
same functionality.
Qt5Package的下载地址为:,下载并安装。

必发官网手机版 2 

7.        张开vs2014,菜单栏会多一项QT5,点击QT5下的qt
option,把第5步生成的靶子文件增加的情状变量加进去

必发官网手机版 3

必发官网手机版 4

点击Add把qt的安装路径加进去笔者的是H:\Qt\Qt5.5.1\msvc2015_64,
之后在自家的微型Computer上点击右键-》属性-》高端系统设置-》高端里的
意况变量加多意况变量PATH   –>   
H:\Qt\Qt5.5.1\msvc2015_64\bin

必发官网手机版 5

成功后就足以新建Qt的工程了

必发官网手机版 6

文中使用的编写翻译脚本参见下载地址:http://download.csdn.net/detail/liuyez123/9375424,
下载包中带有五个文本,使用时留心选对文件X64对应陆十二位操作系统,x86对应叁11人操作系统,同偶尔间须求依据自个儿设置的软件路线修改脚本中的相关路径地点。

相关文章