• 12914阅读
  • 21回复

[共享]Qt5.1.0 MSVC2012(32bit) release静态版编译结果分享 [复制链接]

上一主题 下一主题
离线realfan
 

只看楼主 倒序阅读 楼主  发表于: 2013-07-08
— 本帖被 XChinux 执行加亮操作(2013-07-12) —
5.1.0有个路径bug,请更新取用5.1.1,链接(2013.9.8)
http://www.qtcn.org/bbs/apps.php?q=diary&a=detail&did=1490
========================================================================


Qt5.1.0 MSVC2012-32bit(update3)静态release版,7z压缩包,文件大小70M左右(解压以后约有670M)
http://pan.baidu.com/share/link?shareid=1610709898&uk=673227135
包含odbc,sqlite,没有webkit(注:如果不是解压到c:\Qt\目录下,需要修改在qmake.exe同一文件夹下的qt.conf文件内容为[paths]Prefix = C:/Qt/5.1.0-rel-static_vc2012(路径根据实际情况设)注意,编码一定要ANSI格式,不能用UTF-8。路径分隔符用"/"或"\\")
  简单说一下编译过程:
软件准备:
安装VS2012+update3
安装Python3.3.2
安装ActivePerl
安装Ruby
解压qt-everywhere-opensource-src-5.1.0.zip到c:\Qt目录下(亦可用其它目录
编译准备编辑C:\QT\qt-everywhere-opensource-src-5.1.0\qtbase\mkspecs\win32-msvc2012\qmake.conf
找到这行,将MD改成MT
QMAKE_CFLAGS_RELEASE    = -O2 -MT
保存关闭
开始编译
开始==》程序==》Microsoft Visual Studio 2012==》...==>Visual Studio Tools==>Visual Studio 2012 Command Prompt
进入命令窗口,输入命令
① cd C:\QT\qt-everywhere-opensource-src-5.1.0
② set path= C:\Python33;C:\Perl\site\bin;C:\Perl\bin;C:\Ruby200\bin;%path%  (路径根据个人环境修改)
③ 配置
configure -confirm-license -opensource -platform win32-msvc2012 -release -static -prefix "C:\QT\5.1.0-rel-static_vc2012" -qt-sql-sqlite -qt-sql-odbc -plugin-sql-sqlite -plugin-sql-odbc -qt-zlib -qt-libpng -qt-libjpeg -opengl desktop -qt-freetype -no-qml-debug -no-c++11 -no-angle -nomake docs -nomake tests -nomake examples -nomake demos -skip qtwebkit
④ 没出什么错误的话,nmake
⑤  nmake install








离线XChinux

只看该作者 1楼 发表于: 2013-07-09
代cavendish发:这些自定制的build(realfan的),可以把信息发到releasing邮件列表,例如像这样 http://lists.qt-project.org/pipermail/releasing/2013-July/001391.html
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线wuming123057

只看该作者 2楼 发表于: 2013-07-11
是不是使用这个静态库,也可以在Win7 64位系统上使用VS2012编译32位程序?
离线wuming123057

只看该作者 3楼 发表于: 2013-07-11
编译32位程序出现LINK : fatal error LNK1181: 无法打开输入文件“H:\Qt\qt-everywhere-opensource-src-5.1.0\qtbase\lib\Qt5PlatformSupport.lib”
离线attica

只看该作者 4楼 发表于: 2013-07-15
碰到和3楼一样的问题,还不知道怎么搞定
离线attica

只看该作者 5楼 发表于: 2013-07-15
暂时只能把一个驱动器号变为H,然后把C:\Qt\5.1.0-rel-static_vc2012\lib下的所有库文件拷贝到H:\Qt\qt-everywhere-opensource-src-5.1.0\qtbase\lib下面来临时处理
离线realfan

只看该作者 6楼 发表于: 2013-07-15
回 2楼(wuming123057) 的帖子
我觉得可以吧。我没有环境,也没法测试。
离线realfan

只看该作者 7楼 发表于: 2013-07-15
回 3楼(wuming123057) 的帖子
这个问题很奇怪,按道理不再需要 qt-everywhere-opensource-src-5.1.0目录里的东西了。我再进一步测试一下。
离线realfan

只看该作者 8楼 发表于: 2013-07-15
回 5楼(attica) 的帖子
我会再测试一下,之前没想过会有这种问题。
如果能够改进,重新上传一次。
离线wuming123057

只看该作者 9楼 发表于: 2013-07-15
那个mingw的静态库用着是没有问题的
离线realfan

只看该作者 10楼 发表于: 2013-07-15
回 5楼(attica) 的帖子
这个问题,我还不知道怎么解决。
一个笨方法,找到Makefile.Release,打开,将所有
H:\Qt\qt-everywhere-opensource-src-5.1.0\qtbase\lib
改成X:\Qt\5.1.0-rel-static_vc2012\lib
应该可以

离线attica

只看该作者 11楼 发表于: 2013-07-17
回 10楼(realfan) 的帖子
由于Makefile.Release是自动生成的,所以一旦qmake,就还要改,问题应该是qmake引入的,应该算是Qt的bug吧
我没有H盘,所以我按你给的方法,在C盘重新编译了一遍,然后就发现LIBS多了这些
C:\Qt\qt-everywhere-opensource-src-5.1.0\qtbase\lib\Qt5PlatformSupport.lib C:\Qt\qt-everywhere-opensource-src-5.1.0\qtbase\lib\Qt5Gui.lib

奇怪的是就这两个库,其他的都好,附上makefile中全部的LIBS
LIBS          = qtmain.lib setupapi.lib /LIBPATH:C:\QT\5.1.0-rel-static_vc2012\lib C:\QT\5.1.0-rel-static_vc2012\lib\Qt5Widgets.lib /LIBPATH:C:\Qt\qt-everywhere-opensource-src-5.1.0\qtbase\lib C:\QT\5.1.0-rel-static_vc2012\lib\Qt5Gui.lib C:\QT\5.1.0-rel-static_vc2012\lib\Qt5Core.lib /LIBPATH:C:\QT\5.1.0-rel-static_vc2012\plugins\platforms C:\QT\5.1.0-rel-static_vc2012\plugins\platforms\qwindows.lib winspool.lib shlwapi.lib rpcrt4.lib C:\Qt\qt-everywhere-opensource-src-5.1.0\qtbase\lib\Qt5PlatformSupport.lib C:\Qt\qt-everywhere-opensource-src-5.1.0\qtbase\lib\Qt5Gui.lib comdlg32.lib oleaut32.lib imm32.lib winmm.lib glu32.lib opengl32.lib gdi32.lib C:\Qt\qt-everywhere-opensource-src-5.1.0\qtbase\lib\Qt5Core.lib kernel32.lib user32.lib shell32.lib uuid.lib ole32.lib advapi32.lib ws2_32.lib release\win.res
离线realfan

只看该作者 12楼 发表于: 2013-07-17
回 11楼(attica) 的帖子
应该是Qt的bug。
因为编译好install后,不应该再依赖qt-everywhere-opensource-src-5.1.0下的文件了。
mingw版本,没这个问题
离线wuming123057

只看该作者 13楼 发表于: 2013-07-17
在win7 64安装 qt-windows-opensource-5.1.0-msvc2012-x86-offline.exe,应该可以编译32位程序吧?
离线attica

只看该作者 14楼 发表于: 2013-07-17
回 13楼(wuming123057) 的帖子
没有尝试,应该没有问题,64位下VS2012应该可以编译32位程序
离线yujincheng08

只看该作者 15楼 发表于: 2013-07-20
fatal error C1083: 无法打开包括文件:“GLES2/gl2.h”: No such file or directory
这个怎么解决?
离线realfan

只看该作者 16楼 发表于: 2013-09-08
回 3楼(wuming123057) 的帖子
5.1.0的bug,请更新取用5.1.1,链接(2013.9.8)
http://www.qtcn.org/bbs/apps.php?q=diary&a=detail&did=1490
离线realfan

只看该作者 17楼 发表于: 2013-09-08
回 4楼(attica) 的帖子
5.1.0的bug,请更新取用5.1.1,链接(2013.9.8)
http://www.qtcn.org/bbs/apps.php?q=diary&a=detail&did=1490
离线ashe0817

只看该作者 18楼 发表于: 2013-09-10
貌似2012编译出的程序不能在XP下跑,可能要改什么配置
不知道楼主试过在XP下运行没
离线realfan

只看该作者 19楼 发表于: 2013-09-10
回 18楼(ashe0817) 的帖子
VS2012不能安装到XP上,VC2012编译的库,不能在XP上用,也是正常的。
要在XP上用,只能用低版本的VC编译,只通过配置解决不了问题。
离线skykingf

只看该作者 20楼 发表于: 2013-09-26
回 19楼(realfan) 的帖子
VS2012现在可以编译在XP上跑了
如何编译兼容XP的qt静态库,还不清楚
离线ashe0817

只看该作者 21楼 发表于: 2013-10-27
Re:回 19楼(realfan) 的帖子
引用第20楼skykingf于2013-09-26 10:18发表的 回 19楼(realfan) 的帖子 :
VS2012现在可以编译在XP上跑了
如何编译兼容XP的qt静态库,还不清楚

找到编译兼容XP的办法了吗?我用vc2012编译的Qt库不支持XP
快速回复
限100 字节
 
上一个 下一个