MSVC 2013 + Qt 5.4.2 + quazip 0.7.1 的编译及使用
来源:互联网 发布:mac版ps怎么安装字体 编辑:程序博客网 时间:2024/05/29 13:13
在Windows平台下,采用cl编译器的编译效率明显要高于Mingw,因其能利用处理器的多核优势并进行多文件同时编译,加上 QMAKE_CXXFLAGS += /MP 编译选项后,个人测试编译时间缩短一半左右。下面的例子不一定局限于MSVC 2013和Qt 5.4.2,只要是qt+msvc的开发形式都可以借鉴。
一、编译quazip库
① 安装Qt msvc2013版本
② 安装MSVC 2013
③ 在官网下载quazip的源码
④ 打开quazip源码文件夹下的 "quazip.pro" 工程文件
⑤ 切换到release状态,运行,此时会提示:
x:\Qt\Qt5.4.2_msvc2013\5.4\msvc2013_64_opengl\include\QtZlib
文件夹下的两个文件放到源代码的quazip和qztest文件夹下
⑥ 运行, xxx\quazip\release的 quazip.dll 和 quazip.lib 文件就是我们将要用到的库文件
注:debug版没有测试~~~
二、使用quazip库
① 打开自己的工程,将quazip源码中的头文件提取出来放到相应文件夹下,同时把库文件也放到相应文件夹下,在pro文件中添加如下内容(目录位置根据实际情况):
② 编译,此时会出现如下错误:
error: C2491: “QuaZipFile::staticMetaObject”: 不允许 dllimport 静态数据成员的定义,这里是 cl 编译器的特有问题,具体原因请百度一下吧,此处不解释了。
因此,根据说明,将自己的pro文件中加上这一行,DEFINES += QUAZIP_BUILD
再注:使用 windeployqt命令发布程序的时候,需将quazip.dll放在程序的目录下,虽然之前是Release编译了库,但是并不是静态的,如需静态的,请百度一下吧,我也没有测试过,记得看过资料说,简单的修改下源码就可以了,欢迎大家尝试。
一、编译quazip库
① 安装Qt msvc2013版本
② 安装MSVC 2013
③ 在官网下载quazip的源码
④ 打开quazip源码文件夹下的 "quazip.pro" 工程文件
⑤ 切换到release状态,运行,此时会提示:
-1: error: dependent '..\..\quazip-0.7.1\quazip\zlib.h' does not exist.原因是找不到zlib.h,因此我这里将
x:\Qt\Qt5.4.2_msvc2013\5.4\msvc2013_64_opengl\include\QtZlib
文件夹下的两个文件放到源代码的quazip和qztest文件夹下
⑥ 运行, xxx\quazip\release的 quazip.dll 和 quazip.lib 文件就是我们将要用到的库文件
注:debug版没有测试~~~
二、使用quazip库
① 打开自己的工程,将quazip源码中的头文件提取出来放到相应文件夹下,同时把库文件也放到相应文件夹下,在pro文件中添加如下内容(目录位置根据实际情况):
INCLUDEPATH += $$PWD/libs/quazip/include/ DEPENDPATH += $$PWD/libs/quazip/include/ win32:CONFIG(release, debug|release): LIBS += -L$$PWD/libs/quazip/lib/ -lquazip else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/libs/quazip/bin/ -lquazip INCLUDEPATH += x:\Qt\Qt5.4.2_msvc2013\5.4\msvc2013_64_opengl\include\QtZlib\
② 编译,此时会出现如下错误:
error: C2491: “QuaZipFile::staticMetaObject”: 不允许 dllimport 静态数据成员的定义,这里是 cl 编译器的特有问题,具体原因请百度一下吧,此处不解释了。
③ 查看源代码中的 "quazip_global.h" 文件,里面有下面的描述:
/** * When building a DLL with MSVC, QUAZIP_BUILD must be defined. * qglobal.h takes care of defining Q_DECL_* correctly for msvc/gcc. */
因此,根据说明,将自己的pro文件中加上这一行,DEFINES += QUAZIP_BUILD
④ 彻底清除Qt编译产生的的build文件夹,需删掉build文件夹,因为此项修改需要改动Makefile,右键->清除并不能清除掉Makefile文件。
⑤ Run,然后尽情使用吧~
注:这里使用的是release编译方式,debug暂时还没有测试过。再注:使用 windeployqt命令发布程序的时候,需将quazip.dll放在程序的目录下,虽然之前是Release编译了库,但是并不是静态的,如需静态的,请百度一下吧,我也没有测试过,记得看过资料说,简单的修改下源码就可以了,欢迎大家尝试。
2 0
- MSVC 2013 + Qt 5.4.2 + quazip 0.7.1 的编译及使用
- quazip 在windows msvc 2005 下的编译
- MSVC 2012以及Mingw动态编译及静态编译 QT 5.0.2/5.4.0,附上Linux编译QT 5.4.1的配置参数
- MSVC 2012动态编译及静态编译 QT 5.0.2
- MSVC 2012动态编译及静态编译 QT 5.0.2
- QT解压缩zlib和quazip的使用
- Qt使用msvc的方式编译MySql驱动
- 使用msvc编译的rustc
- Quazip的使用
- Qt5.7关于Quazip的编译和使用
- QT MSVC 2008 编译mysq
- QT系列:MinGW与MSVC编译的区别
- MSVC的编译链接
- Opencv + Qt(VS编译器MSVC版本)的使用
- 使用msvc 编译 ffmpeg 1.1
- QuaZip的源码编译和生成DLL后的使用总结
- Qt 中有两种方式编译MinGW和MSVC
- Qt使用QuaZip对文件进行压缩解压操作
- JAVA基础2-标识符、关键字、数据类型与运算符
- 2015.11.1
- Android开发者网址导航
- Material Design 拾荒记(二) RecyclerView Simple
- Fast Median Filtering Based on FPGA
- MSVC 2013 + Qt 5.4.2 + quazip 0.7.1 的编译及使用
- 控制图片宽度或者高度且使图片不失真
- hdu--2576
- OC 学习笔记3 文件夹下所有.txt文件的行数
- d3d渲染管线前缀
- JAVA基础3-程序结构与控制、函数与数组入门
- single-number-iii
- 测试审核
- Android 面试tips