Qt 5.6 5.8 vs2015 编译静态库版本(有全部的截图)good

安装Qt

Qt官网下载Qt安装包 
 
安装Qt和源码,一定要勾选source选项 
 
添加bin到系统变量 

工具

需要python3和 perl、 vs2015 第三方工具,到官方下载安装 

在命令行测试工具是否安装成功 

configue

首先修改文件C:\Qt\Qt5.6.2\5.6\Src\qtbase\mkspecs\common\msvc-desktop.conf 把MD替换为MT静态编译 

然后上面打开的终端cd命令跳到Qt源码目录 ,输入下面命令

5.6

configure -confirm-license -opensource -platform win32-msvc2015 -debug-and-release -static -prefix "C:\qt\static-vs2015-qt" -qt-sql-sqlite -qt-sql-odbc -plugin-sql-sqlite -plugin-sql-odbc -qt-zlib -qt-libpng -qt-libjpeg -opengl desktop -target xp -qt-freetype -qml-debug -no-angle -nomake tests -nomake examples

5.8

configure -confirm-license -opensource -platform win32-msvc2015 -debug-and-release -static -prefix "C:\qt\static-vs2015-qt" -qt-sql-sqlite  -qt-zlib -qt-libpng -qt-libjpeg -opengl desktop -target xp -qt-freetype -qml-debug -no-angle -nomake tests -nomake examples

5.8需要把-qt-sql-sqlite 改为-qt-sqlite ,从5.7.0开始源码里configure已经去掉了-target xp这个选项的支持了

nmake


有时候生成的pri文件有问题(获取cl版本时截取的字符串有问题),需要手动修改下 

修改如下,如果pri文件没有报错,就不用修改

CONFIG+= debug static rtti no_plugin_manifest directwrite qpa
host_build {
    QT_ARCH = i386
    QT_TARGET_ARCH = i386
} else {
    QT_ARCH = i386
}
QT_CONFIG += minimal-config small-config medium-config large-config full-config debug_and_release build_all release debug static zlib gif jpeg png freetype harfbuzz build_all accessibility opengl dbus audio-backend directwrite native-gestures qpa concurrent
#versioning
QT_VERSION = 5.6.2
QT_MAJOR_VERSION = 5
QT_MINOR_VERSION = 6
QT_PATCH_VERSION = 2

QT_EDITION = OpenSource
QMAKE_TARGET_OS = xp
QT_DEFAULT_QPA_PLUGIN = qwindows
QT_CL_MAJOR_VERSION = 19
QT_CL_MINOR_VERSION = 00
QT_CL_PATCH_VERSION = 24210

编译

nmake编译


编译5.7和5.8时可能会遇到这个问题,把qtuiohandler.cpp文件改为带BOM的utf-8编码就可以了

安装

nmake install

配置Qt Creator

添加Qt版本,提示qmlscene未安装警告,把以前的qmlscene.exe拷贝到静态库中的bin文件夹即可 

添加构建套件 

http://blog.csdn.net/x356982611/article/details/62042318

时间: 2024-10-09 20:57:23

Qt 5.6 5.8 vs2015 编译静态库版本(有全部的截图)good的相关文章

android ndk-build 编译静态库libxx.a 以及Android studio openssl 静态库配置(cmake)

android ndk-build 编译静态库libxx.a 需求场景: 目前有安卓编码好的现在的openssl的两个.a,我们需要调用openssl的函数,并把功能再封装成.a; 这样使用时,在android studio jni项目 cmake 里面,需要先引用openssl的.a再引用 上面封装的.a; 如果使用so,那么,直接在android studio jni项目的 cpp里面直接调用openssl的方法,对外提供jni java接口,打包成so即可: 先来说用ndk-build 打

【iOS】编译静态库

与java和.net一样,objc也由类库的概念,不过在在objc上一般叫库,库表示程序代码集合,可以共享给其他程序使用,库是编译后的二进制文件,因此不能看到源代码,多用于一些开放sdk(如百度地图sdk),商用库,这两天在研究iOS上编译静态库,这里把编译的过程和中间遇到的一些问题做一下记录,方便以后查阅 objc上的库一般分为两类 静态库: .a 和 .framework .a文件:纯二进制文件,需要配合.h文件一起使用,通过.h文件引用库里面的内容 .framework文件:包含二进制文件

vs2015编译faac库

1,此库干什么用的 不说了 2,源码下载地址:http://www.audiocoding.com/downloads.html 3,参考教程 :https://blog.csdn.net/fangbingxiao/article/details/80217106 4.2中下载地址会跳转到国内的镜像地址.但是呢,如果没用T子的话,跳转后会404.所以直接提供国内镜像地址:https://jaist.dl.sourceforge.net/project/faac/faac-src/faac-1.2

GCC实现多文件编译,静态库,动态库

一 代码 //add.h int add(int a, int b); //add.c int add(int a, int b) { return a+b; } //main.c #include <stdio.h> #include "add.h" void main() { printf("3 + 2 = %d\n",add(3+2)); } 二 多文件编译 1 生成.o文件 命令:gcc -c add.c main.c 生成:add.o,main

ffmpeg的ubuntu的编译过程(编译静态库和动态库)

第一步源码下载 通过git下载 git clone https://git.ffmpeg.org/ffmpeg.git ffmpeg 或者直接下载 wget  http://ffmpeg.org/releases/ffmpeg-3.3.tar.bz2 如果是下载的ffmpeg-3.3.tar.bz2 需要进行解压 tar   -jxvf ffmpeg-3.3.tar.bz2 如果国外网站访问速度慢,也可以到www.ffmpeg.club 中下载,可以在windows中下载后再复制到linux中.

linux+vs2013编译静态库和动态库

Linux下创建与使用静态库 Linux静态库命名规则 Linux静态库命名规范,必须是"lib[your_library_name].a":lib为前缀,中间是静态库名,扩展名为.a. 创建静态库(.a) (1) 将代码文件编译成目标文件.o(test.o) 命令:g++ -c  test.cpp (2) 通过ar工具将目标文件打包成.a静态库文件 命令:ar -crv libtest.a test.o 生成静态库test.a 使用静态库 Linux下使用静态库,只需要在编译的时候,

Vs2012在Linux开发中的应用(12): 编译静态库

快乐虾 http://blog.csdn.net/lights_joy/ 欢迎转载,但请保留作者信息 原来以为要生成静态库只需要重载<Lib>任务就可以了: <Target Name="Lib" > <Message Text="lib target" Importance="High" /> <EmbedLinuxLinkTask TargetName="ImpLib" Projec

libpomelo 增加编译静态库cocos2d-x xcode 工程

离 https://github.com/NetEase/libpomelo 下载最新版本.拉开拉链,静态库 ./pomelo_gyp -DTO=ios ./build_ios ./build_iossim 分别生成了ios设备(arm)和ios虚拟机(i386)的静态库,用lipo把两个打包在一起: lipo -create ./build/Default-iphoneos/libpomelo.a  ./build/Default-iphonesimulator/libpomelo.a  -o

编译静态库和连接静态库

简介:下面的例子是在linux下,编写一个简单的 求和静态库 libplus.a ,然后,使用之. $ mkdir 1;cd 1 $ pwd /home/nbz/1 $ cat >plus.c int plus(int i0, int i1) { return i0 + i1; } $ cat >plus.h int plus(int i0, int i1); $ gcc -c -fPIC -o plus.o plus.c $ cat >main.c #include "plu