posts - 28, comments - 179, trackbacks - 0, articles - 1
  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

Qt4.3.0编译记录

Posted on 2007-06-27 09:20 chemz 阅读(5684) 评论(18)  编辑 收藏 引用 所属分类: C++
                                Qt4.3.0编译记录
    Qt已经发布了最新架构的版本Qt4了,目前的最新版本已经到了Qt4.3,我在前面的文章
中有一篇关于Qt4.2.3的编译记录,其实Qt4.3.0的编译较之Qt4.2.3相对简单一些,区别仅
仅在于不需要应用原代码的补丁,其他的过程完全的相同。编译的具体过程进行详细的说明。

1. 设置环境变量
   首先肯定是要解压缩Qt4.3.0的源代码包到某个目录下(这里使用的是commercial版本),
   如:D:\Qt\4.3.0\。然后在系统环境目录下添加一个QTDIR=D:\Qt\4.3.0环境变量,并且
   在系统的PATH追加%QTDIR%\bin目录项,以使得可以找到编译后的库和应用程序。
2. 安装协议文件
   要安装商业版本就必须具有安装商业的license,将.qt-license文件拷贝到用户的
   %USERPROFILE%目录下,如:C:\Documents and Settings\Administrator\。
3. 修改编译选项
   进入到%QTDIR%\mkspecs\win32-msvc2005\目录下,打开qmake.conf文件找到19行的
   QMAKE_CFLAGS = -nologo -Zm200 -Zc:wchar_t-,删除后面的-Zc:wchar_t-选项,
   主要是为了保持标准兼容性以及和其他代码的兼容性,否则会出现Qt4中采用了
   wchar_t的函数不能够接受没有-Zc:wchar_t选项下的wchar_t类型;
4. 配置并编译
   打开console窗口,并设置VC的环境变量,然后运行如下的配置命令:
   configure -debug-and-release -no-stl -no-sql-sqlite -qt-libjpeg -qt-gif -platform win32-msvc2005
   成功后就可以通过运行nmake来完成源代码的完全编译了。
   上面的命令行中,根据你的要求可以自行调整,一般而言为了成功编译必须要包含的命令
   选项是-debug-and-release和-platform win32-msvc2005两个,其他可以选择。

注意:
    Qt4.3.1已经发布了,其编译方法和过程和4.3.0没有任何区别。

Feedback

# re: Qt4.3.0编译记录  回复  更多评论   

2007-06-27 11:05 by mikesh
不错

# re: Qt4.3.0编译记录  回复  更多评论   

2007-06-28 17:21 by 疑惑
qt4.30编译出来的qt designer的是不是和以前的版本有很大不同啊。快捷什么的都变了??

# re: Qt4.3.0编译记录  回复  更多评论   

2007-06-29 13:34 by chemz
变化是有的,没有那么的翻天覆地,快捷键肯定有变化,就和Visual Studio.NET相对于Visual Studio98那样没有多大的关系啦

# re: Qt4.3.0编译记录  回复  更多评论   

2007-06-30 17:43 by xigua
你的QT4.3 commercial版可以共享一下吗

# re: Qt4.3.0编译记录  回复  更多评论   

2007-07-02 08:42 by chemz
不好意思,你可以到网络上去搜索,很容易找到的

# re: Qt4.3.0编译记录  回复  更多评论   

2007-08-02 01:28 by xigua
但是我找来找去都没有搜索到商业版,何必弄得那么保密啊,发一份给我好吗,非常感谢 wmhnq@126.com

# re: Qt4.3.0编译记录  回复  更多评论   

2007-08-02 08:21 by xigua
还想问一下,QT4.3.0+VS2005 SP1会出什么问题吗?我这里报了一个什么CL.EXE 1077的错误.

# re: Qt4.3.0编译记录  回复  更多评论   

2007-08-17 21:15 by wang
Generating Code...
link /NOLOGO /SUBSYSTEM:CONSOLE /incremental:no /OUT:"..\..\..\bin\rcc.e
xe" @C:\DOCUME~1\JIAPEI~1\LOCALS~1\Temp\nm1F5.tmp
qbytearray.obj : error LNK2019: unresolved external symbol _compress2 referenced
in function "class QByteArray __cdecl qCompress(unsigned char const *,int,int)"
(?qCompress@@YA?AVQByteArray@@PBEHH@Z)
qbytearray.obj : error LNK2019: unresolved external symbol _uncompress reference
d in function "class QByteArray __cdecl qUncompress(unsigned char const *,int)"
(?qUncompress@@YA?AVQByteArray@@PBEH@Z)
..\..\..\bin\rcc.exe : fatal error LNK1120: 2 unresolved externals
NMAKE : fatal error U1077: '"C:\Program Files\Microsoft Visual Studio 8\VC\BIN\l
ink.EXE"' : return code '0x460'
Stop.
NMAKE : fatal error U1077: '"C:\Program Files\Microsoft Visual Studio 8\VC\BIN\n
make.exe"' : return code '0x2'
Stop.
NMAKE : fatal error U1077: 'cd' : return code '0x2'
Stop.
请问这个问题如何解决呀
1) OS: MicrosoftXP
2) QT: 4.3.0 (commercial version)

# re: Qt4.3.0编译记录  回复  更多评论   

2007-08-21 08:41 by chemz
你的这个问题应该是环境变量没有正确的设置导致的,请仔细核对VC、QTDIR、PATH环境变量

# re: Qt4.3.0编译记录  回复  更多评论   

2007-08-29 15:16 by wang
LZ:能否把你编译好的QT给我一份呀,我的邮箱:billwangyj@yahoo.com.cn,谢谢了!我实在是编译不出来

# re: Qt4.3.0编译记录  回复  更多评论   

2007-11-07 11:07 by queniao
环境变量 ,要一次又一次,检查,最好让别人检查

# re: Qt4.3.0编译记录  回复  更多评论   

2007-11-07 11:41 by <a href=http://minidx.com>minidxer</a>
让别人检查?

# re: Qt4.3.0编译记录  回复  更多评论   

2008-01-02 21:09 by solotek97@gmail.com
我在自己的电脑和单位的一台电脑都安装成功了 opensource版本。
自己电脑 xp+vs2k5
单位电脑 xp+vs2k3

但是在另外一台上却怎么也成功不了。。

想来想去差别也就只有CPU了,不成功的那台是双核的。。其他两台都是单核。。。
问题是那台上我原先用mingw安装成功了。。我非常的郁闷啊。。

兄台有没有什么建议?
solotek97@gmail.com

# re: Qt4.3.0编译记录  回复  更多评论   

2008-04-20 16:32 by geoffyan
@wang
confihure -no-zlib
选项就可以了。你机器里的ZLIB版本不对!

# re: Qt4.3.0编译记录  回复  更多评论   

2008-07-08 20:21 by tang
我也在编译QT4.3,但编译了好几次都出现这个问题:

正在生成代码...
cl -c -nologo -Zm300 -Zi -MDd -W3 -w34100 -w34189 -GR -EHsc -DQT_SHARED
-DQT_THREAD_SUPPORT -DUNICODE -DWIN32 -DQT_LARGEFILE_SUPPORT -DQT_EDITION=QT_EDI
TION_DESKTOP -DQT_BUILD_SCRIPT_LIB -DQLALR_NO_QSCRIPTGRAMMAR_DEBUG_INFO -DQT_MAK
EDLL -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT3_SUPPORT -DQT_MOC_COMPA
T -D_USE_MATH_DEFINES -DQT_DLL -DQT_CORE_LIB -I"..\..\include\QtCore" -I"..\..\i
nclude\QtCore" -I"..\..\include" -I"..\..\include\QtScript" -I"tmp" -I"..\..\inc
lude\ActiveQt" -I"tmp\moc\debug_shared" -I"." -I"..\..\mkspecs\win32-msvc.net" -
Fotmp\obj\debug_shared\ @C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\nmB6.tmp
moc_qscriptengine.cpp
tmp\moc\debug_shared\moc_qscriptengine.cpp(0) : fatal error C1033: 无法打开程序
数据库“e:\qt4.3.1\src\script\vc70.pdb”
moc_qscriptextensionplugin.cpp
tmp\moc\debug_shared\moc_qscriptextensionplugin.cpp(0) : fatal error C1033: 无法
打开程序数据库“e:\qt4.3.1\src\script\vc70.pdb”
正在生成代码...
NMAKE : fatal error U1077: “cl” : 返回代码“0x2”
Stop.
NMAKE : fatal error U1077: “"F:\Microsoft Visual Studio .NET 2003\VC7\BIN\nmake
.exe"” : 返回代码“0x2”
Stop.
NMAKE : fatal error U1077: “cd” : 返回代码“0x2”
Stop.

请问是什么原因?谢谢,实在编译不下去了……

# re: Qt4.3.0编译记录  回复  更多评论   

2008-10-16 15:52 by 姓名
继续编译 configure -platform win32-mscv2005,多编译几次就可以通过了

# re: Qt4.3.0编译记录[未登录]  回复  更多评论   

2008-11-11 20:54 by qiezi
by 姓名 说的多编译几次是可行的。。。
每次都会出现这个错误,但是出错的cpp不同。。。多编译几次就过了

# re: Qt4.3.0编译记录[未登录]  回复  更多评论   

2008-12-09 10:56 by chris
楼上说的很对,多编译几次就过了,如果遇到这种问题的朋友可以试试看

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理