关于QT2.2.0pr导出编译影片时出错出错的问题,求助达人

Qtopia2.2.0编译成功经验分享_Linux编程_Linux公社-Linux系统门户网站
你好,游客
Qtopia2.2.0编译成功经验分享
来源:Linux社区&
经过一段漫长而痛苦的过程(几次差点就要放弃)之后,今天qtopia2.2.0pc版本和ARM-LINUX版本都终于编译成功了,下面我和大家分享一下pc机版本的qtopia2.2.0编译过程中的遇到的错误及其解决办法,希望与大家一起进步。(arm-linux版本的编译参照飞凌提供的6410的qt移植视频中的五和六,先编译第三方库,按照视频上来就没有问题,编译完第三方库以后,剩下的就和pc版本的相差无几了)
环境:10.10&& 编译器: gcc version 4.4.5& 主机:奔四&& 内存:512+256M&&& VMware版本:7.0
注意事项:&&&& 在编译之前先确保你的ubuntu系统中有X11的SDK库,Qtopia编译过程中需要使用X11SDK里面的一些头文件,使用以下命令,即可完成安装:&&& &&&& apt-get install libx11-dev libxext-dev libxtst-dev
&& 另外,在修改完第一处错误,重新编译之前,先修改一下build脚本文件,因为重新执行build命令,该脚本会把刚才编译中的qtopia-free-2.2.0文件夹删除,重新解压,形成新的qtopia-free-2.2.0,开始编译,这样刚才的修改就失去意义了。修改build脚本的方法如下:&&&&& 将& rm -fr qtopia-free-2.2.0&&&&&&&&& tar xfvz qtopia-free-2.2.0.tar.gz 这两条语句的前面分别加上#& ,注释掉,保存退出,重新执行& ./build
在编译过程中会出现很多的错误,包括飞凌提供的ok6410 QT移植百科全书里面的,但是手册里面罗列的不全,下面我将我在编译过程实际遇到的编译错误及其解决办法写一下(其中的一些错误实际中没有遇到,是从网上搜集的,供朋友们参考):& & 错误一:&&&&&&& /usr/bin/ld: cannot find -lXmu&&&&&&& collect2: ld returned 1 exit status& 错误二:&&&&&&&& Creating pngscale...make[1]: Entering directory `/root/yizhi/qtopia-free-2.2.0/qtopia/util/pngscale'..make[1]: *** [../../bin/pngscale] Error 1make[1]: Leaving directory `/root/yizhi/qtopia-free-2.2.0/qtopia/util/pngscale'Failed to make pngscale&&& 分析:&&&&&&&& 这是因为没有安装uuid和Xmu,因为在编译qtopia2.2.0的过程中需要安装工具uuid(Universally Unique Identifier,)和 xmu库文件。&&& 解决办法:&&&&&&&&&&& &&&&&&&&&& apt-get install& uuid-dev &&&&&&&&&& apt-get install libxmu-dev libxmu6
错误三:&&&&& external/clearsilver/cgi/cgi.c:22: fatal error: zlib.h: No such file or directory&&&&&& compilation terminated.&&&&& make: *** [out/host/linux-x86/obj/SHARED_LIBRARIES/libneo_cgi_intermediates/cgi.o] Error 1
& 解决:&&&&&&& 在ubuntu里,zlib叫zlib1g,相应的zlib-devel叫zlib1g.dev
&&&&&&& sudo apt-get install zlib1g-dev
错误四:&&&&& /usr/bin/ld: cannot find -lz&&&&& collect2: ld returned 1 exit status&&&&& make: *** [out/host/linux-x86/obj/EXECUTABLES/aapt_intermediates/aapt] Error 1
&& 解决方法:&&&&&& sudo apt-get install lib32z1-dev
错误五:&&&& bison -d& -o out/host/linux-x86/obj/EXECUTABLES/aidl_intermediates/aidl_language_y.cpp&&&&& frameworks/base/tools/aidl/aidl_language_y.y&&&& /bin/bash: bison: command not found&&&& make: *** [out/host/linux-x86/obj/EXECUTABLES/aidl_intermediates/aidl_language_y.cpp] Error 127
&&& 解决方法:&&&& sudo apt-get install bison
错误六:&&&&& Lex: aidl &= frameworks/base/tools/aidl/aidl_language_l.l&&&&& /bin/bash: flex: command not found&&&&& make: *** [out/host/linux-x86/obj/EXECUTABLES/aidl_intermediates/aidl_language_l.cpp] Error 127
&&& 解决方法:&&&&& sudo apt-get install flex&&&&&&&&&&& 错误七:&&&&& /usr/bin/ld: cannot find -lncurses&&&&& collect2: ld returned 1 exit status&&&& make: *** [out/host/linux-x86/obj/EXECUTABLES/adb_intermediates/adb] Error 1
解决方法:&&&& sudo apt-get install lib32ncurses5-dev
错误八:&&& prebuilt/linux-x86/sdl/include/SDL/SDL_syswm.h:55: fatal error: X11/Xlib.h: No such file&&&& or directory&&& compilation terminated.&&& make: *** [out/host/linux-x86/obj/EXECUTABLES/emulator_intermediates//main-common.o] Error 1
解决方法:&&& sudo apt-get install libx11-dev
错误九:&&&& sh: gperf: not found&&&& calling gperf failed: 32512 at ./makeprop.pl line 96.&&&& make: ***& [out/target/product/generic/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/css/CSSPropertyNames.h] Error 25make: *** Deleting file `out/target/product/generic/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/css/CSSPropertyNames.h'
解决方法:&&&& sudo apt-get install gperf
错误十:open函数参数不够&
&&& /usr/include/bits/fcntl2.h:51: error: call to ‘__open_missing_mode’ declared with attribute error: open&& with O_CREAT in second argument needs 3 arguments
& 解决办法:&&&& 参见ok6410移植百科全书。
错误十一:使用未定义的类& &&&& error: ‘QWSInputMethod’ has not been declared& 解决办法:&&&&&& 参见ok6410移植百科全书。 (注: 该文件中使用了这两个类,C++允许在文件中这样声明其他地方定义的类,减少头文件的相互包含关系,加快编译速度)
错误十二:缺少头文件&&&&&&& asm/page.h: No such file or directory& 解决办法:&&&&&&& 参见ok6410移植百科全书。
错误十三:类型转换错误&&&&& home/work/armqt/qtlibsource/qt-x11/include/qvalue stack.h: In member function 'T QValueStack&T&::pop() [with T = QMap&QString, QString&]': xml/qxml.cpp:513:&& instantiated from here   /home/work/armqt/qtlibsource/qt-x11/include/qvalue stack.h:57: 错误:不能从'QValueListIterator&QMap&QString, QString& &'转换到'const char*',为实参'1'(属于'int remove(const char*)') /home/work/armqt/qtlibsource/qt-x11/include/qvalue stack.h: In member function 'T QValueStack&T&::pop() [with T = QString]': xml/qxml.cpp:2502:&& instantiated from here   /home/work/armqt/qtlibsource/qt-x11/include/qvalue stack.h:57: 错误:不能从'QValueListIterator&QString&'转换到'const char*',为实参'1'(属于'int remove(const char*)')&&& 解决办法:&&&&&&&& 参见ok6410移植百科全书。
相关资讯 & & &
& (07/20/:54)
& (12/05/:23)
& (08/30/:41)
& (07/20/:53)
& (02/28/:03)
& (01/14/:22)
图片资讯 & & &
   同意评论声明
   发表
尊重网上道德,遵守中华人民共和国的各项有关法律法规
承担一切因您的行为而直接或间接导致的民事或刑事法律责任
本站管理人员有权保留或删除其管辖留言中的任意内容
本站有权在网站内转载或引用您的评论
参与本评论即表明您已经阅读并接受上述条款
匿名 发表于 /usr/bin/ld:cannot find -lqtecollect2:ld 返回 1make[5]: ***[../../../lib/libqpe.so.1.5.3] 错误 1

我要回帖

更多关于 apktool 反编译出错 的文章

 

随机推荐