• vs2010静态编译qt5.1.0


      本博文参考 http://blog.chinaunix.net/uid-20690340-id-3802197.html

      静态库在链接的时候直接写入二进制文件里,这样的好处在于发布的时候无需附带dll文件,这样就不会因为缺少哪个dll运行不起来。

      安装前准备:

    1、下载qt源码:qt-everywhere-opensource-src-5.1.0.zip。

    2、下载Perl工具。

    3、下载Python工具:python-2.7.6.msi。

    4、下载Ruby工具:rubyinstaller-2.0.0-p451.exe。

    5、安装所下载的工具,全部采用默认安装位置(安装到c盘)。

    6、安装完后设置环境变量:C:Ruby200in;C:Python27;C:Perlsitein;C:Perlin。如果环境变量中已经存在则无需再添加。

    7、创建.gitignore文件。运行Visual Studio命令提示(2010) 并将将工作目录切换到qt-everywhere-opensource-src-5.1.0文件夹下,输入命令:echo foo > qtbase.gitignore

    7、1(补充)将目录(qt-everywhere-opensource-src-5.1.0qtbasemkspecswin32-msvc2010)下的qmake.conf文件里的标记改成:

    QMAKE_CFLAGS_RELEASE = -O2 -MT
    QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += -O2 -MT -Zi
    QMAKE_CFLAGS_DEBUG = -Zi -MTd

    QMAKE_LFLAGS_RELEASE = /INCREMENTAL:NO  /NODEFAULTLIB:libc.lib /NODEFAULTLIB:msvcrt.lib
    QMAKE_LFLAGS_DEBUG = /DEBUG  /NODEFAULTLIB:libcd.lib /NODEFAULTLIB:msvcrtd.lib

    这样做的目的是静态链接c运行库。这样才能达到真正的静态编译

    8、配置:执行命令configure -confirm-license -opensource -prefix "D:Qtqt5.1.0-msvc2010-static" -debug-and-release -static -platform win32-msvc2010 -c++11 -no-icu -opengl desktop  -qt-zlib -qt-libpng -qt-libjpeg -nomake demos -nomake examples -nomake tests -mp

    关于congigure 命令中的各项说明 

    -opensource -confirm-license qt的使用协议,这个是使用开源协议,并同意

    -prefix  "D:Qtqt5.1.0-msvc2010-static" 设置qt的安装目录,
    -static 
    设置静态编译,动态编译的话,去掉
    -platform win32-msvc2010 
    设置编译器类型,可根据情况换成win32-msvc2012   win32-g++或者其他 可选择类型在qtbasemkspecs目录下了
    -debug-and-release
    编译debugrelease 只编译release设置 -release只编译debug的设置- debug
    //-no-c++11 
    关闭C++11的支持,目前只有vs2010 vs2012支持C++11特性 (vs2010去掉这一项,因为支持)
    -no-icu 
    关闭不是使用icu

    -opengl desktop 使用opengl
    -nomake demos -nomake examples -nomake tests 
    不编译示例,测试
     -mp 
    使用多核优化编译、

     

     

    目录设置

     

     

     

    -prefix <dir>

    指定编译结果目录,如果不指定编译结果将会出现在Qtbase

    库编译

     

     

     

    -debug

    生成debug

     

    -release

    生成release

     

    -debug-and-release

    生成debugrelease

     

    -shared

    创建并使用动态Qt

     

    -static

    创建并使用静态Qt

    模块编译

     

     

     

    -make <part>

    编译(libs,tools,examples...)

     

    -nomake <part>

    不编译(libs,tools,examples...)

     

    -skip <module>

    构建时排除该模块

     

    -no-widgets

    禁止编译widgets模块

     

    -no-sql-<driver>

    禁止编译指定SQL驱动

     

    -no-opengl

    不支持opengl

     

    -opengl <api>

    使能opengl指定API

    desktop 桌面OpenGL

    es1

    es2

     

    -icu

    使用ICU

     

    -no-icu

    不是用ICU

    Windows支持

     

     

     

    -no-vcproj

    不生成vc++.vcproj文件

     

    -vcproj

    只针对"win32-msvc.net",

     

    -no-openssl

    不编译openssl

    9、执行nmake,这一步编译需要花费很长时间(双核四线程,2.6GHz,一个半小时),慢慢等待结果出来

    10、执行nmake install。这一步将编译生成的结果拷贝到configure配置的目标路径里。

    至此静态编译全部结束。

    Qt Creator 静态编译设置

    工具->选项(option)

    QT版本

    添加 选择编译安装的qmake 目录

    选择构建套件(kit)

    名称:QT5.1.0_VS2010_static
    QT版本:选5.1.0-rel-static_vc2010

  • 相关阅读:
    str_split 分隔中文出现乱码 替代函数
    PHP 浮点数 转化 整数方法对比 ceil,floor,round,intval,number_format
    php 判断字符串之间包含关系
    不解之谜
    正则匹配 特殊的 符号
    PHP 判断字符串 是否 包含另一个字符串
    PHP 删除 数组 指定成员
    HTML 权重标签的使用
    【PAT甲级】1094 The Largest Generation (25 分)(DFS)
    【PAT甲级】1093 Count PAT's (25 分)
  • 原文地址:https://www.cnblogs.com/larkin-cn/p/3649796.html
Copyright © 2020-2023  润新知