美文网首页PC开发
Qt 5.10.1 & vs2017 静态编译

Qt 5.10.1 & vs2017 静态编译

作者: 凡式 | 来源:发表于2018-03-07 20:14 被阅读315次

    凡式原创,转载请注明

    • 2018-03-05

    准备:

    1、源代码&编译器

    2、编译环境(add to path)

    编译:

    1、mkspecs

    将Qt源代码路径下面 qtbase\mkspecs\common\msvc-desktop.conf 的以下几行:

    QMAKE_CFLAGS_RELEASE = $$QMAKE_CFLAGS_OPTIMIZE -MD 
    QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += $$QMAKE_CFLAGS_OPTIMIZE -MD -Zi 
    QMAKE_CFLAGS_DEBUG = -Zi -MDd
    

    修改为:

    QMAKE_CFLAGS_RELEASE = $$QMAKE_CFLAGS_OPTIMIZE -MT 
    QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += $$QMAKE_CFLAGS_OPTIMIZE -MT -Zi 
    QMAKE_CFLAGS_DEBUG = -Zi -MTd
    

    2、configure

    开始 -> Visual Studio 2017 -> x86 Native Tools Command Prompt for VS 2017 或者 x64 Native Tools Command Prompt for VS 2017

    cd /d D:\src\qt-everywhere-src-5.10.1
    mkdir build
    cd /d build
    D:\src\qt-everywhere-src-5.10.1\build > D:\src\qt-everywhere-src-5.10.1\configure.bat -h
    D:\src\qt-everywhere-src-5.10.1\build > configure.bat  -confirm-license -opensource -release -static -force-asserts -platform win32-msvc -prefix C:\Qt\Qt5.10.1-vs2017-static -static-runtime -mp -silent -opengl desktop -qt-sqlite -qt-pcre -qt-zlib -qt-freetype -qt-harfbuzz -qt-libpng -qt-libjpeg -nomake examples -nomake tests
    
    具体配置详情如下:
    -confirm-license -opensource
    -release 版本
    -static 静态
    -force-asserts
    -platform win32-msvc 版本
    -static-runtime 
    -mp 多线程编译
    -silent 不显示编译时多余的大量信息
    -opengl desktop 选择desktop而不是dynamic,避免qcustomplot无法使用opengl
    -qt-sqlite 三个选项[system/qt/no]选择源码自带
    -qt-pcre 三个选项[system/qt/no]选择源码自带
    -qt-zlib 三个选项[system/qt/no]选择源码自带
    -qt-freetype 三个选项[system/qt/no]选择源码自带
    -qt-harfbuzz 三个选项[system/qt/no]选择源码自带
    -qt-libpng 三个选项[system/qt/no]选择源码自带
    -qt-libjpeg 三个选项[system/qt/no]选择源码自带
    -nomake examples 不编译例子
    -nomake tests 不编译测试
    

    3、nmake & nmake install

    nmake
    nmake install
    

    3、jom

    ( 优化并行编译的工具替代nmake;nmake在configure时也可以指定-mp参数进行多线程编译 )

    jom -j8
    jom install
    

    4、qt.conf

    [问题]:添加静态编译的Qt版本,工具->选项->构建和运行->Qt Versions->添加->,此时出现错误
    [错误]:qt没有被正确的安装,请运行make install
    [解决办法]:在qmake.exe同一文件夹下,创建一个qt.conf文件(必须为ANSI格式)

    [paths]  
    Prefix = ..
    

    相关文章

      网友评论

      • sentortu:大神 ,动态的怎么编译呀?
      • 凡式:共同学习进步

      本文标题:Qt 5.10.1 & vs2017 静态编译

      本文链接:https://www.haomeiwen.com/subject/ewhkfftx.html