VS2013编译Qt5.6.0静态库(乌合之众)

获取qt5.6.0源码包

直接去www.qt.io下载就好了,这里就不详细说了。

这里是我已经编译好的** 链接:http://pan.baidu.com/s/1pLb6wVT 密码: ak7y **

configure配置

1、进入源码目录下的qtbase\mkspecs\win32-msvc2013目录,打开文件qmake.conf文件。添加

QMAKE_CFLAGS_RELEASE    = -O2 -MT -Zc:strictStrings
QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += -O2 -MT -Zi -Zc:strictStrings
QMAKE_CFLAGS_DEBUG      = -Zi -MTd

上面其实不做也可以,我就没有做。

2、进入解压后的源码目录,打开命令行界面,执行

configure -prefix 安装目录 -platform win32-msvc2013 -opensource -release -static -qt-sql-sqlite -qt-sql-mysql -qt-zlib -qt-libjpeg -qt-libpng -skip qtquickcontrols -skip qtquickcontrols2 -skip qtsensors -skip qtdoc -confirm-license -c++std c++11

详细的配置选项可以看这里http://www.cnblogs.com/oloroso/p/5407779.html

2016年11月24日 11:42:31
做个备注,这个地址http://www.npcglib.org/~stathis/blog/precompiled-qt4-qt5/有更多下载。

编译与安装

执行configure成功后,会提示运行nmake
打开VS2013安装目录下的\Common7\Tools\Shortcuts目录,双击执行VS2013 x64 本机工具命令提示
切换工作目录到Qt5.6.0的源码目录,执行nmake

问题与解决办法

下面问题出现的时候,由于我没有记录下报错信息,所以只能靠自己的记忆来描述了。

问题1:找不到编译生成的.obj
这是在编译qtimageformats模块的时候出现的问题。由于编译时指定的生成路径太长,文件无法写入导致的。打开qt5.6.0源码目录下的qtimageformats\src\imageformats\Makefile.release文件,将生成路径中的.obj\release\qt...省略很多级目录...改为一个比较短的路径。

问题2:编译adueditor时,链接出现的重定义问题
打开文件qtserialbus\examples\serialbus\modbus\adueditor\mainwindow.cpp,将以下几行注释掉。

QT_BEGIN_NAMESPACE
Q_LOGGING_CATEGORY(QT_MODBUS, "qt.modbus")
Q_LOGGING_CATEGORY(QT_MODBUS_LOW, "qt.modbus.lowlevel")
QT_END_NAMESPACE

问题3:error LNK2019: 无法解析的外部符号 "struct QStaticPlugin const __cdecl qt_static_plugin_AssimpParserPlugin(void)"
这个问题记录下来了,是因为这里编译的是静态库,这里加载插件的时候,没有链接它。
打开源码目录下的qt3d\examples\qt3d\qt3d.pro文件。添加qt3d\plugins\sceneparsers目录下的两个.lib文件。添加后还要其他的未找到定义问题,再找相关的lib文件链接进来。

http://www.cnblogs.com/oloroso/p/5577888.html

时间: 2024-10-12 12:24:31

VS2013编译Qt5.6.0静态库(乌合之众)的相关文章

linux下编译qt5.6.0静态库——configure配置

 随笔 - 116  文章 - 4  评论 - 7 linux下编译qt5.6.0静态库--configure配置 linux下编译qt5.6.0静态库 linux下编译qt5.6.0静态库 configure生成makefile 安装选项 Configure选项 第三方库: 附加选项: QNX/Blackberry选项: Android 选项: 生成makefile 遇到链接检查失败的情况 生成makefile后进行编译 编译时的错误 多重定义'QT_MODBUS()'和'QT_MODBU

VS2010编译Qt5.4.0静态库

http://www.kavenblog.com/?p=375 1.Qt的跨平台十分优秀,但是在Windows上是还是会有许多问题,其中之一就是动态链接库的问题,Qt程序的发布必须带一个体积不小的DLL库,这十分不方便.当然,如果是程序员之间会比较方便,如果别人的机子也安装了Qt,并且设置了环境变量,那么也可以不将公共的DLL附在发布的程序中.但是,这样显然还是不方便. 2.静态链接库很好的解决了这一个问题,下面就来详细叙述如何编译Qt5.4.0的静态库. 3.参考链接:http://blog.

Win10 + VS2015 下编译 Qt5.6.0

近期由于另外一个项目需要用 vs2015 ,于是把 Qt 也升级到了 5.6.0 .由于项目需要兼容 Windows xp ,所以需要自己编译 Qt .这里大致整理一下编译的过程. 安装 ActivePerl / Python / Ruby .ActivePerl: http://www.activestate.com/activeperl/downloads .我用的版本是 ActivePerl-5.22.1.2201-MSWin32-x64-299574 .Python: https://w

linux下编译qt5.6.0——configure配置

linux下编译qt5.6.0 首先下载源码包qt-everywhere-opensource-src-5.6.0.7z 然后解压 7z x -o/home/o/qt-src/qt-opensource-src-5.6.0 qt-everywhere-opensource-src-5.6.0.7z cd /home/o/qt-src/qt-opensource-src-5.6.0 我这里解压到/home/o/qt-src/qt-opensource-src-5.6.0中,解压后进入这个目录. c

VS2013编译Qt5.4静态库

设置了一天,这静态编译也总算是虐出来了...Qt 的静态编译简直不要太麻烦啊... 感谢这位大神提供的方法 http://zerooverture.com/tutorials/qt/737.html 工具下载: http://pan.baidu.com/s/1hq2Cff2 一.环境配置 我目前用的系统是Windows 7 64bit,请注意安装好以下软件,以及配置好环境变量: Visual Studio 2013 python perl 安装好以上软件 请用cmd测试下 python和perl

VS编译linux项目生成静态库并在另一个项目中静态链接的方法

VS2017也推出很久了,在单位的时候写linux的服务端程序只能用vim,这让用惯了IDE的我很难受. 加上想自己撸一套linux上的轮子,决定用VS开工远程编写调试linux程序. 在windows下编写静态库并在另一个项目中引用很简单 新建项目的时候选择静态库,进去把代码撸好,即可编译出静态库*.lib 随后在希望使用该静态库的项目中设置一下链接器"附加库目录"为"../Debug"(和你的输出路径有关),然后添加"附加依赖项"静态库名.l

Linux编译过程与动静态库制作

一.Linux编译过程 预处理->编译->汇编->链接 二.预处理 作用: 宏展开 头文件包含 条件编译 布局控制,如#pragma:添加行号,方便后期问题查错. 编译命令 gcc -E  *.c  -o  *.i 三.编译 作用: 将预处理生成的代码进行词法.语法与语义进行解析,生成汇编代码. 命令: gcc -S *.i -o *.s 四.汇编 作用: 将汇编代码进行处理,转换成计算机能识别指令集,生成目标文件(.o/.obj). 命令: gcc -c *.s -o *o 五.链接

MacOSX64位机器上gcc编译32位x264静态库

x264最新包地址:http://www.videolan.org/developers/x264.html 编译命令: ./configure --enable-static --host=i386-apple-darwin --host选项请参考一下连接 http://gcc.gnu.org/install/specific.htmlhttp://airs.com/ian/configure/configure_6.html#SEC39 The `--build' option is use

VS2013编译boost1.55库

1. 官网下载最新的Boost库,我的是1.55 2. 在使用vs2013编译boost-1.55.0之前,先要给boost做下修改: boost_1_55_0\boost\intrusive\detail\has_member_function_callable_with.hpp line:222 template<class U> static BOOST_PP_CAT(zeroarg_checker_, BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLAB