`
mypyg
  • 浏览: 549407 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

Windows下静态编译QT程序

    博客分类:
  • Qt
阅读更多
Windows下编写的QT程序拿到别的机器上运行时总是要打包DLL,编译成静态程序更方便一些。

首先要编译一个静态的Qt库,因为ms的连接器需要.lib库,而qt自带的是.a库,所以要下载代码自己编译了。
编译前先修改一下spec:(下面是对于vs2008,如果是2005,则去找win32-msvc2005)
mkspecs ----> win32-msvc2008 ----> qmake.conf
修改QMAKE_CFLAGS_RELEASE = -O2 -MD 为QMAKE_CFLAGS_RELEASE = -O2 -MT
修改QMAKE_CFLAGS_DEBUG 为  = -Zi -MTd
修改这儿是因为Qt configure时的static选项对核心库无效,核心库仍然是动态链接的。另外-Zi也可以去掉,不生成pdb文件,如果不调试Qt内部就没必要要。
执行:
configure -release -static -fast -qt-sql-odbc -qt-sql-sqlite -no-webkit
nmake
等待个1,2小时的编译,生成一堆的.lib文件。
如果需要webkit就不要加-no-webkit参数

在vs中修改工程的属性:
配置属性 ----> C/C++ ----> 代码生成 ---->运行时库 ----> /MT or /MTd

这样最终生成的程序就是静态程序了,拿到没有QT库的机器上也可以运行了。
分享到:
评论
2 楼 mypyg 2011-10-10  
下载source代码自己编译
1 楼 charles_gz 2011-10-08  
新手求解:我使用的是SDK 需要怎么做?也要找到confignure?

相关推荐

    Qt6.22 Mingw64静态编译

    本篇文章将详细探讨如何在Windows环境下,使用Mingw64工具集进行Qt6.2.2的静态编译。 首先,理解静态编译的概念至关重要。静态编译意味着在编译应用程序时,将所有依赖的库(如Qt库)合并到最终的可执行文件中,...

    Qt5.6.3的windows minGW版本静态编译的方法

    总之,静态编译Qt5.6.3不仅能够减少程序的体积,还能确保在旧版操作系统上的兼容性。然而,需要注意的是,静态编译可能会增加程序的启动时间,且由于LGPL协议,如果商业软件使用了静态编译的Qt,可能需要开源其与Qt...

    ubuntu 上 qt静态编译版本制作

    #### 静态编译Qt 1. **切换到源码路径**: - 执行命令`cd /opt/Qt5.9.0/5.9/Src/`切换至源码目录。 - 设置最高权限以避免权限问题:`chmod -R 777 ../Src` 2. **配置安装包**: - 安装必要的工具和库: - `sudo ...

    qt5.15.9-static 静态编译库,已经编译完毕,直接安装即可

    静态编译的QT5.15.9库使得程序可以在没有安装QT环境的计算机上运行,简化了分发和部署过程。 在实际开发中,开发者还需要了解如何正确地链接静态库,避免可能出现的符号冲突和内存管理问题。此外,由于静态库文件较...

    Qt5.6.3 C++静态编译 vs2015

    静态编译Qt库意味着在最终的可执行文件中包含所有依赖的库,这样在部署应用程序时就不需要额外安装Qt运行时环境。这对于分发应用程序特别方便,因为用户不需要预先安装Qt库。然而,静态编译会使得可执行文件的大小...

    staticlib5.6.3静态编译库

    这是我自己编译的可用于windows 32位系统下的QT静态编译库,此库为官方源码完全编译版本,支持QT5.6.3 mingw32位版本开发工具,可用来开发兼容于winxp系统及以上系统的程序,利用此库进行开发,可以编译出体积比较小...

    Qt 5.15.1 MSVC static 静态编译包

    静态编译Qt的优势在于: 1. **便携性**:用户无需在目标机器上安装Qt环境,因为所有依赖项都包含在应用程序中。 2. **简化部署**:无需管理各种库文件和运行时环境。 3. **减少冲突**:避免不同应用程序之间因使用...

    Qt 5.15.2 MinGW81 静态编译

    Qt 5.15.2 是一个广泛应用的跨平台...总的来说,静态编译Qt是一个涉及多步操作的过程,需要一定的耐心和对编译过程的理解。不过,一旦完成,你将拥有一个独立的、自包含的Qt环境,这对于某些特定的应用场景非常有价值。

    Qt极限精简静态编译,生成的EXE只有2.2M(未压缩)

    在IT领域,Qt是一个广泛应用的跨平台开发框架,支持Windows、Linux、macOS等多种操作系统,用于创建GUI应用程序。本文将详细解析如何进行Qt的极限静态编译,以及使用VC6编译器生成的小巧精悍的EXE文件。 首先,我们...

    Qt5在windows下静态编译1

    在Windows环境下,静态编译Qt5主要涉及以下步骤和注意事项: 1. **获取源代码**:首先,你需要从Qt官方仓库或者通过其他合法途径下载Qt5的源代码。确保源码完整且对应于你想要编译的版本。 2. **准备编译环境**:...

    QT5.15.2 MSVC2019_64 静态编译 带MYSQL和OPENSSL

    描述中的"静态编译"意味着QT库与应用程序一起被编译为单个可执行文件,这样在运行时就不需要依赖外部的动态链接库(DLLs),提高了部署的便利性。 在QT5.15.2中,包含了对MYSQL和OPENSSL的支持。MySQL是一种广泛...

    Qt_静态编译

    本文将详细介绍如何在 Windows 系统下进行 Qt 的静态编译,以及为何在某些场景下这是一项必要的技术。 #### 二、Qt 的优势 1. **跨平台特性**:Qt 支持多种操作系统,包括 Windows、Linux 和 Mac OS。这意味着...

    vs2008 md方式静态编译qt4.8.6库

    windows平台下,vs2008使用md的编译方式,编译的qt4.8.6版本的静态库。 压缩包中包含了编译后的二进制库文件,以及使用qt库时的头文件等。 使用qt开发的程序不想带上qt的dll时,可以使用压缩包中的库进行开发,由于...

    vs2008 mt方式静态编译qt4.8.6库

    windows平台下,vs2008使用mt的编译方式,编译的qt4.8.6版本的静态库。 压缩包中包含了编译后的二进制库文件,以及使用qt库时的头文件等。 使用qt开发的程序不想带上qt的dll时,可以使用压缩包中的库进行开发,因为...

    qt静态编译windows配置

    在Windows平台上进行Qt静态编译是一项复杂而关键的任务,它涉及到多个步骤和注意事项。Qt静态编译意味着将所有依赖项包含在最终的可执行文件中,这样用户在运行程序时无需安装额外的库或环境。这尤其适用于分发给...

    QT5.15.2的32bit MinGW静态编译库

    QT5.15.2的32bit MinGW静态编译库,编译命令“configure.bat -static -release -confirm-license -opensource -opengl desktop -platform win32-g++ -prefix "D:\Qt\5.15.2\mingw81_32_static" -sql-sqlite -sql-...

    Qt静态编译方法下载

    本文将详细介绍如何在Windows上使用Visual Studio 2015(MSVC 14编译器)静态编译Qt 5.7。 首先,确保你已经安装了Microsoft Visual Studio 2015,社区版可免费获取。接着,你需要从Qt官方网站下载Qt 5.7.0的源代码...

Global site tag (gtag.js) - Google Analytics