最终目的为开发图形界面到pda中,边学习边实践,现在终于把需要的qt库和程序编译好了,过程很曲折,回忆起来有不少弯路其实是可以避免的。现在把前段时间的编译过程总结一下。下一步就是配置环境变量,编译和运行一个测试程序了。
4编译qvfb并安装 帮助文档http://developer.qt.nokia.com/doc/qt-4.8/qvfb.html 5 在第2)步中解压的目录中./tools/qvfb下编译qvfb,编译完成后会在./bin下生成qvfb程序,将其拷贝到qt-x11的安装目录下
第二部分:操作过程
编译x11平台用qt库并安装/编译qvfb并安装
1)cd /users 2)gunzip qt-everywhere-opensource-src-4.8.0.tar.gz tar xvf qt-everywhere-opensource-src-4.8.0.tar 3)mv qt-everywhere-opensource-src-4.8.0 qt-x11-opensource-src-4.8.0 4)cd qt-x11-opensource-src-4.8.0 5)./configure -prefix /users/trolltech/qt-4.8.0-x11 -qvfb 6)make 7)make install 8)cd ./tools/qvfb 9)../../bin/qmake 10)make 11)cd ../../bin 12)察看是否有qvfb,ls -l qvfb 13) cp qvfb /users/trolltech/x11 编译x11平台用qt库并安装 在编译之前需要先安装linux-arm-gcc编译器 1) 2)上 3)mv qt-everywhere-opensource-src-4.8.0 qt-arm-opensource-src-4.8.04)cd qt-arm-opensource-src-4.8.05)./configure -embedded arm-gnueabi -little-endian -prefix /users/trolltech/qt-4.8.0-arm-gnueabi -qvfb 6)make7)make install
第三部分:遇到的问题 1)编译X11时,webkit不能编译通过,主要原因makefile中包含了-Werror选项。 解决办法修改对应工程目录下的工程文件。添加QTM 2)配置x11时出现, rhel1:/users/qt-x11-opensource-src-4.8.0/src/3rdparty/webkit/Source/WebCore% ../../../../../bin/qmakeProject MESSAGE: Disabling video due the lack of GLib/Gio/GStreamer.该问题不影响编译,目前还没有解决。 3)编译qvfb时出现重复定义的问题,工程文件中两次包含了qlock.cpp,取消一次即可 qlock.cpp:(.text+0x2b0): multiple definition of `QLock::QLock(QString const&, char, bool)'4)运行时为黑屏,会报如下错误:该问题下阶段调试测试程序时看是否有影响?QLock::QLock: Cannot get semaphore /tmp/qtembedded-oracle/QtEmbedded-0 'd' (2, û���Ǹ�
解释:
-Werror 选项
在处理警告方面,另一个常用的编译选项是 -Werror。它要求 gcc 将所有的警告当成错误进行处理,这在使用自动编译工具(如 Make 等)时非常有用 。如果编译时带上 -Werror 选项,那么 gcc 会在所有产生警告的地方停止编译,迫使程序员对自己的代码进行修改。只有当相应的警告信息消除时,才可能将编译过程继续朝前推进。
第四部分:需要的其它库
qte中第三方库webkit需要uClibc 0.9.29 库的支持 下载网址:http://uclibc.org/