首页| 论坛| 消息

标题:Windows环境下Qt5静态编译方法(Qt5+MSVC2010)
作者:梦枫鬼才
日期:2012-12-27 12:57
内容:

首先,先下载Qt5源码。网上很多有关Qt4的静态编译教程都误人子弟,写着直接下载Qt libraries 4.*.* for Windows (VS 2010 * MB),这是严重错误的!!!否则编译出来的库有足足20+G,还有诸多问题。因为这是静态链接动态编译好的库。正确做法是,直接下载源代码并从源码编译。请看这行小字:The source code is available as a zip (270 MB) or a tar.gz (219 MB) or check all installers here.从此下载并编译。
然后,更改\qtbase\mkspecs\win32-msvc*\qmake.conf文件,把下面3行
QMAKE_CFLAGS_RELEASE= -O2 -MD
QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += -O2 -MD -Zi
QMAKE_CFLAGS_DEBUG= -Zi -MDd
改为:
& ..


#1 [adonais 12-27 15:06]
有没有试过静态编译qtwebkit
#2 [梦枫鬼才 12-27 17:32]
那个没试过,QWebkit这种奇葩的东西避之不及
#3 回 1楼(adonais) 的帖子 [roywillow 12-27 20:19]
从Qt4.x(x是几我忘了),官方就声明不再为qtwebkit的静态编译提供支持
#4 回 2楼(梦枫鬼才) 的帖子 [roywillow 12-27 20:20]
我比较想知道修改那几个函数名称的理由
#5 [梦枫鬼才 12-27 22:20]
因为动态编译时,官方是把文件分开编译再用动态链接库进行链接。但是静态编译时,QVariantToVARIANT函数已在其它文件中定义,用visual studio的nmake不加/k参数时会中断编译,而mingw只是跳过编译依赖此文件的代码。另外DllGetClassObject和DllCanUnloadNow也是因为重定义问题。

<< 1 2 3 >> (1/3)

回复 发表
主题 版块