• 如何静态编译QT (zz)


    静态编译QT涉及到两个方面:

    1.静态编译QT,使程序可以将静态库的形式使用QT,这个好办,在configure.exe 程序的参数下,给上-static参数即可。

    2.QT使用了VC的链接库也要静态链接。这个就有点难办了,因为QT默认的使用方式是动态的,不过,有了前人的研究就好办了,打开<qt-

    install-dir>\mkspecs\win32-msvc2008\qmake.conf文件(VS2008,如果是VC6,则是<qt-install-dir>\mkspecs\win32-msvc\qmake.conf,

    VS2003:<qt-install-dir>\mkspecs\win32-msvc.net\qmake.conf,相信现在没有人用VS2002吧),将下面两行:

    QMAKE_CFLAGS_RELEASE = -O2 -MD
    QMAKE_CFLAGS_DEBUG = -Zi -MDd

    改为:

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

    就好了。这是VS2008的示例,如果你是其他版本的VS,则会有些区别,但只要将MD(动态)改为MT(静态),将MDD(动态调试)改为MTD(静

    态调试),就好了。

    如果你有多个版本的VS安装在系统上,则在configure.exe的命令行参数给上-platform win32-msvc2008,就可以使用VS2008编译了,其他的VS

    版本可以在README中找到:

      win32-g++
      win32-icc (commercial edition only)
      win32-msvc (commercial edition only)
      win32-msvc.net (commercial edition only)
      win32-msvc2005 (commercial edition only)

    改好了,就可以用 configure -platform win32-msvc2008 -debug-and-release -static -fast -qt-sql-sqlite 来配置系统了。

    配置完成后,nmake编译之。

    关于configure更详细的参数信息,请使用 configure --help查看。

  • 相关阅读:
    Linux02--文件系统与磁盘管理
    Android02-Activity01
    Android01-概述
    LeetCode | Binary Tree Level Order Traversal II
    LeetCode | Binary Tree Level Order Traversal
    LeetCode | Binary Tree Postorder Traversal
    LeetCode | Binary Tree Inorder Traversal
    LeetCode | Binary Tree Preorder Traversal
    LeetCode | Symmetric Tree
    LeetCode | Balanced Binary Tree
  • 原文地址:https://www.cnblogs.com/lansh/p/1663014.html
Copyright © 2020-2023  润新知