“Eva 编译问题”集中贴
注意到大家已经开始着手熟悉 Eva 框架,遇到一些编译错误等问题,因此,特开次贴,请大家集中提问,这样可以减少重复劳动。谢谢!在提问时,请给出如下要素:
#1. 操作系统
#2. qt版本号;
#3. 编译对象;
#4. 错误提示信息。
问题就是知识,我们一同进步。^_^ 我用的是红帽企业版3 , configure的时候没有问题:Good - your configure finished. Start make now,make的时候出错:
Making all in src
make: Entering directory `/home/builder/charley/app/evatest/src'
/usr/lib/qt-3.1/bin/uic -L /usr/lib/kde3/plugins/designer -nounload -o evatestui.h ./evatestui.ui
uic: File generated with too recent version of Qt Designer (3.3 vs. 3.1.2)
make: *** Error 1
make: Leaving directory `/home/builder/charley/app/evatest/src'
make: *** Error 1
make: Leaving directory `/home/builder/charley/app/evatest'
make: *** Error 2
--------------------
bamfox 转 我用的是红帽企业版3 , configure的时候没有问题:Good - your configure finished. Start make now,make的时候出错:
Making all in src
make: Entering directory `/home/builder/charley/app/evatest/src'
/usr/lib/qt-3.1/bin/uic -L /usr/lib/kde3/plugins/designer -nounload -o evatestui.h ./evatestui.ui
uic: File generated with too recent version of Qt Designer (3.3 vs. 3.1.2)
make: *** Error 1
make: Leaving directory `/home/builder/charley/app/evatest/src'
make: *** Error 1
make: Leaving directory `/home/builder/charley/app/evatest'
make: *** Error 2
你的Qt版本低了,我的Qt是 3.3的,
你可以暂时这么解决。
用Kwrite打开/evatestui.ui这个文件, 记住一定要把编码设置成UTF8的
然后把第一行
<!DOCTYPE UI><UI version="3.3" stdsetdef="1">
改成
<!DOCTYPE UI><UI version="3.1" stdsetdef="1">
然后存盘, 记着一定是要utf8编码格式。 eva功成名就的那一天,bamfox功不可没
----------------------------------------------------------
谢谢,花花这么抬举我哇。不过,这里暂时不要灌水呀。
by bamfox 一个重要的更正, 是我的错误所致, 可能在有些系统上不能编译,会有如下编译错误
evapacket.cpp: In member function `int OutPacket::putHead(unsigned char*)':
evapacket.cpp:33: error: `int Packet::qqNum' is private
evapacket.cpp:238: error: within this context
如果出现这个问题,请大家做如下更改:
把 evapacket.cpp 文件的 238 行:
int id = htonl(qqNum);
改为
int id = htonl(getQQ());
这个错误的原因是
int qqNum 是 Packet 类的私有变量
而我在它的继承类OutPacket里调用了这个变量,只应该是不可以的,但是不知道
为什么我的编译器没有报错。
而本来我是把qqNum 放在 protected: 里的, 继承类是可以访问的, 后来改掉了。
多谢Jacky Gu <[email protected]> 给我的反馈
给大家带来的不便望大家包含 eva功成名就的那一天,bamfox功不可没
我看我们应该考虑给bamfox设计个奖章什么的 :D
-------------------------------------------------
狐狸大勋章一枚就行了。^_^ 暂时不要灌水呀。
by bamfox 把evatestui.ui改了 但还是有问题:
evasocket.cpp: In member function `void EvaHttpProxy::parseData(int)':
evasocket.cpp:265: no matching function for call to `QString::startsWith(const
char, bool)'
/usr/lib/qt-3.1/include/qstring.h:640: candidates are: bool
QString::startsWith(const QString&) const
PS:我想问下 从哪里可以下载到新的qt和qtdesigner 你的的确是版本低了。
你可以暂时这么解决
找到这一行,
evasocket.cpp:265 : if(replyBuffer.startsWith("HTTP/1.",false)){
改成:
if(replyBuffer.startsWith("HTTP/1.")){
试试看, 不过建议升级一下qt吧
到这里去找
http://www.trolltech.com/download/qt/x11.html
不过,升级Qt,你还是先在
http://www.trolltech.com 上,找找升级文档,看完了再动手,有点麻烦。
你去redhat或者其他地方看看,有没有给红帽企业版3做好的rpm升级包,直接下了,装上会非常省事 在本机用rpm -qa|grep qt搜索的结果是:
qt-designer-3.1.2-13
qt-MySQL-3.1.2-13
qt-devel-3.1.2-13
qt-3.1.2-13
从网上下的qt包是qt-x11-free-3.3.3.tar.gz,安装这个包是只升级qt呢还是qt-devel,qt-MySQL,qt-designer都一块升级了
PS:xx-devel包是什么? 经常在网上能找到xx-devel的rpm包 qt-x11-free-3.3.3.tar.gz 是qt QPL 版权发布的东西,和GPL很像,
是全部免费版本的源代码包, 包括 qt库,designer, assistant, qt 文档,
examples, 等等
至于你看到的那些包,应该是把qt free版本的源代码分开了打的包吧。(我猜的)
:xx-devel包 是开发者使用包。如果你是从网上直接下载rpm,这个一定要装。 那几个估计是把qt free里的东西分别打的几个rpm包吧
开发者使用包 -devel 到底是做什么用的 yunfan兄可不可以再详细讲下 不太懂哈:lol: 那几个估计是把qt free里的东西分别打的几个rpm包吧
开发者使用包 -devel 到底是做什么用的 yunfan兄可不可以再详细讲下 不太懂哈:lol:
我也不知道,到底你那个devel是干什么的, 我的看了rpm里都有些什么文件才敢说
不过一般来说,devel包里放着开发才用的上的一些库和开发用的头文件。因为一般用户是不需要这些的。 运行编译好的程序是不需要这些。
另:我的机器上怎么没有devel这个包,而且rpmfind上也没查到这个包。 一个重要的更正, 是我的错误所致, 可能在有些系统上不能编译,会有如下编译错误
evapacket.cpp: In member function `int OutPacket::putHead(unsigned char*)':
evapacket.cpp:33: error: `int Packet::qqNum' is private
evapacket.cpp:238: error: within this context
如果出现这个问题,请大家做如下更改:
把 evapacket.cpp 文件的 238 行:
int id = htonl(qqNum);
改为
int id = htonl(getQQ());
这个错误的原因是
int qqNum 是 Packet 类的私有变量
而我在它的继承类OutPacket里调用了这个变量,只应该是不可以的,但是不知道
为什么我的编译器没有报错。
而本来我是把qqNum 放在 protected: 里的, 继承类是可以访问的, 后来改掉了。
多谢Jacky Gu <[email protected]> 给我的反馈
给大家带来的不便望大家包含
Jacky Gu 就是偶啦, 嘻嘻~~ :lol: BoyFriend,能否带领俺们这些测试的兄弟,为 Eva 把关呢? :-D 偶倒,俺都是个菜鸟呢。。。由于本人有一个嗜好,就是总是把rpm更新到最新。比如KDE啊,xorg啊,还有我的mandrake啊之类的,当然里面就包含了最新版本的qt了,再加上以前有一点点编译kde的经验,才能刚刚应付编译这个东东,现在要我担当如此大任,实在不敢当阿。。。惭愧惭愧。。
页:
[1]
2