zoukankan      html  css  js  c++  java
  • Qt库的静态编译

    一、准备软件
    1. MinGW     (C:\Qt\MinGW)
    http://pan.baidu.com/share/link?shareid=174269&uk=673227135
    这个文件解压就可以用了。
    2. ActivePerl
    3. qt-win-opensource-4.8.4-mingw.exe (C:\Qt\4.8.4)
    4. qtcreator2.6x
    二、安装软件
    1. qt-win-opensource-4.8.4-mingw.exe,提示MinGW路径时,指定到正确位置(C:\Qt\MinGW)
    2. 安装Perl环境,一路Next即可
    3. 安装QtCreator
    三、标准库编译
    1. 配置编译选项
    1)打开C:\Qt\4.8.4\mkspecs\win32-g++\qmake.conf
    (建议先备份一下)
    在QMAKE_LFLAGS后面加上 -static
    并将QMAKE_LFLAGS_DLL后面的 -shared 改为 -static
    (注:如果用Qt4.8.3版本,
    修改QT 4.8.3安装目录下mkspecs\win32-g++\qmake.CONF文件,在qmake.CONF文件中QMAKE_IDC = $$[QT_INSTALL_BINS]$${DIR_SEPARATOR}idc.exe
    之后一行添加:QMAKE_RCC = $$[QT_INSTALL_BINS]$${DIR_SEPARATOR}rcc.exe
    否则,工程中有qrc文件时,会出错。4.8.4版本没有此问题)

    保存并关闭
    2)将C:\Qt\4.8.4\bin 下的syncqt与syncqt.bat 这两个文件删除或改名
    否则在编译时会提示找不到perl环境
    3)修改src\3rdparty\webkit\Source\WebCore\platform下的DefaultLocalizationStrategy.cpp,定位到327行,将本行替换成return WEB_UI_STRING("Look Up \"<selection>\"", "Look Up context menu item with selected word").replace("<selection>", truncatedStringForLookupMenuItem(selectedString));
    如不修改将出现编译Webkit 时会出现 U1077错误。

    2. 开始编译
    静态编译,只要release版本就够了。debug版,静态编译就没有必要了,debug版随便一个工程,生成的执行文件都要上百兆甚至几百兆,调试时,很慢。那么release静态版和debug动态版如何共存呢?稍后再介绍。
    打开Qt 4.8.4 Command Prompt软件,输入

    configure  -confirm-license -opensource -platform win32-g++ -release -static -ltcg -no-qt3support -fast -exceptions -accessibility -rtti -stl -qt-sql-sqlite -qt-sql-odbc -qt-zlib -qt-libpng -qt-libtiff -qt-libjpeg -qt-libmng -multimedia -audio-backend -script -scripttools -nomake demos -nomake examples -nomake docs -qt-style-windows -qt-style-windowsxp -qt-style-windowsvista -qt-style-plastique -qt-style-cleanlooks -qt-style-motif -qt-style-cde -plugin-sql-sqlite -plugin-sql-odbc
    configure参数很多,可以参考它的帮助,按自己需要增减参数。
    PS:这个配置仅编译release版本,如果需要同时需要静态版的Debug版本,需要把-release 改为 -debug-and-release
    耐心等待一会,直到提示:
    Qt is now configured for building. Just run mingw32-make.
    To reconfigure, run mingw32-make confclean and configure.
    接着输入 mingw32-make
    等编译结束,如果没有什么error fail的提示,就恭喜你成功啦!

    四、配置QT Creator
    打开QT Creator, 菜单Tools==》Option==》Build&Run==》
    Compiler选项卡:
          如果没有自动检测到,手工点Add按钮,选MinGW,名称就叫MinGW吧,Compiler path:C:\Qt\MinGW\bin\g++.exe
          点击Apply
    Qt Versions选项卡:
            点Add按钮,选择C:\Qt\4.8.4\bin\qmake.exe,
                                         version name: Qt4.8.4(4.8.4)
            点击Apply
    Kits选项卡:
           点Add按钮,name: qtstatic_rel
                                Device type: Desktop
                                Compiler: MinGW
                                Debuger: release版本无所谓,在debug版一定要正确选择,否则无法调试
                                Qt version: Qt4.8.4(4.8.4)OK,至此,就可以编译静态的qt程序了,生成的exe文件可以独立运行。不过生成的exe文件体积比较大,可以用upx压缩一下,会缩小到原来的40%左右。
                                
                                
    附一份vs2010 编译64Bit静态库 简明过程
    1.下载源码 qt-everywhere-opensource-src
    2.调用vs2010命令行 Visual Studio x64 Win64 命令提示(2010)
    3.切换到解压目录,运行configure -static -release -no-qt3support -platform win32-msvc2010 -qt-sql-psql -qt-sql-sqlite
    4.jom.exe -j N    N代表核数
    5.漫长等待,编译完成

  • 相关阅读:
    软件工程实验二—结构化分析与设计
    软件工程实验一 软件开发文档与工具的安装与使用
    个人作业三-ATM管理系统
    软件工程个人作业二—举例分析流程图与活动图的区别与联系
    软工个人作业—四则运算
    2020软件工程作业02
    自我介绍
    2019春总结作业
    2019春第四次课程设计实验报告
    2019春第三次课程设计实验报告
  • 原文地址:https://www.cnblogs.com/danju/p/3691476.html
Copyright © 2011-2022 走看看