• Qt4编译生成VS静态库(静态编译),有三个bat文件 good


    开发环境:vs2008+Qt4.8.4源码库

    其他环境请自己尝试,原理应该是差不多的

    Qt编译生成静态库

    1.         本教程只针对在win32平台,使用VS开发工具(例子以VS2008为例)

    2.         下载Qt的源代码(针对Qt4,关于Qt5没测试过)

    3.         解压Qt源代码到目标目录,如:

    4.         打开” mkspecs”目录,找到目标平台的文件夹,如:” win32-msvc2008”;打开” qmake.conf”文件,找到下面语句:

    QMAKE_CFLAGS_RELEASE    = -O2 -MD

    QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += -O2 -MD -Zi

    QMAKE_CFLAGS_DEBUG      = -Zi –MDd

    改为

    QMAKE_CFLAGS_RELEASE    = -O2 -MT

    QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += -O2 -MT -Zi

    QMAKE_CFLAGS_DEBUG      = -Zi –MTd

    5.         在Qt源代码目录下新建三个bat文件,分别为environment.bat、configure.bat、compile.bat,分别功能为:设置环境变量、设置configure参数、开始编译,三个文件内容如下:

    environment.bat:

    set QTDIR=%CD%

    set PATH=%PATH%;%QTDIR%/bin

    set QMAKESPEC=win32-msvc2008          // win32-msvc2008根据实际平台进行修改

    "D:/Tools/Microsoft Visual Studio 9.0/VC/vcvarsall.bat" x86       //”D:/Tools/Microsoft Visual Studio 9.0/VC/vcvarsall.bat”根据安装的VS版本与路径进行修改

             configure.bat

    configure -debug-and-release -opensource -static -fast -qt-sql-sqlite -qt-sql-odbc -qt-libpng -qt-libmng -qt-libjpeg -platform win32-msvc2008      // 根据需要自己填写,

    可使用configure –h相看相关参数

    compile.bat

             nmake

             nmake confclean               // 此句可写可不写

    6.         打开VS的命令提示,开始à程序à Microsoft Visual Studio 2008à Visual Studio Toolsà Visual Studio 2008 命令提示

    7.         使用”cd”命令去到Qt源代码目录,

    8.         依次执行下面命令(编译前可以将源代码下的example文件夹删掉,加快编译速度):

    会提示是否接收License,输入”Y”后按回车即可

    漫长等待,编译完成后,查看Qt源代码目录下的”lib”目录是否已生成后缀为”lib”的静态库

    9.         编译成功后,打开VS添加Qt的静态版本。VS2008-》Qt-》qt optaions-》qt versions-》add,将Qt源代码目录的路径添加进来(如F:qt-opensource-4.8.4-static,这个路径就是刚刚编译好的静态QT库)

    10.     使用VS新建一个Qt工程,然后选择Qt的静态版本,若是DEBUG版本选择项目属性àC/C++à代码生成à运行时库à多线程调试(/MTd);链接器à输入à附加依赖项中加入” ws2_32.lib winmm.lib imm32.lib”这三个库à确定à编译; 若是RELEASE版本选择项目属性àC/C++à代码生成à运行时库à多线程(/MT);链接器à输入à附加依赖项中加入” ws2_32.lib winmm.lib imm32.lib”这三个库à确定à编译;

    http://blog.csdn.net/liuguangzhou123/article/details/12710887

  • 相关阅读:
    lambda表达式
    Java的MongoDB驱动及读写策略
    MongDB主从复制、复制集
    PL/SQL练习
    MySQL数据库MyISAM和InnoDB存储引擎的比较(转)
    Java的垃圾回收概述
    springMVC源码浅析
    ActiveMQ使用总结
    常用的缓存产品比较
    Nginx+tomcat负载均衡并动静态分离
  • 原文地址:https://www.cnblogs.com/findumars/p/6280500.html
Copyright © 2020-2023  润新知