我用的是 qtopia-free-1.6.0
系统是red hat 8.0
在qtopia达建好以后,首先我写了一个shell, 以便以后方便的运行qtopia,
贴出:
- export QTOPIADIR=/root/qtopia/qtopia_1.6_install
- export QPEDIR=$QTOPIADIR/qtopia-free-1.6.0
- export TMAKEDIR=$QTOPIADIR/tmake-1.11
- export TMAKEPATH=$TMAKEDIR/lib/qws/linux-x86-g++
- export PATH=$TMAKEDIR/bin:$PATH
- export QTEDIR=$QTOPIADIR/qt-2.3.4
- export PATH=$QTOPIADIR/qt-2.3.4$QTDIR/bin:$PATH
- export LD_LIBRARY_PATH=$QTOPIADIR/qt-2.3.4/lib:$LD_LIBRARY_PATH
- export PATH=$QTOPIADIR/qt-2.3.2/bin:$PATH
- export LD_LIBRARY_PATH=$QTOPIADIR/qt-2.3.2/lib:$LD_LIBRARY_PATH
- export QT3DIR=$QTOPIADIR/qt-x11-free-3.1.2
- export PATH=$QTOPIADIR/qt-x11-free-3.1.2/bin:$PATH
- export LD_LIBRARY_PATH=$QTOPIADIR/qt-x11-free-3.1.2/lib:$LD_LIBRARY_PATH
- export QTDIR=$QTEDIR
- export QPEDIR=$QTOPIADIR/qtopia-free-1.6.0
- export PATH=$QPEDIR/bin:$PATH
- export QTDIR=$QTEDIR
QTOPIADIR=/root/qtopia/qtopia_1.6_install 这个目录是你所有的相关文件存放的地方.
red hat 有自己的qt, 但是这里我自己编译了qt-x11-free-3.1.2.
大家自己根据情况修改.
这里设置环境变量要当心出错, 我就犯了粗心达意的毛病, 吃了不少亏
我将这个shell存为/root/shell/qtopia.shell
下面就是要这个shell生效,
#source /root/shell/qtopia.shell
现在可以看一下你达建的平台了,
#qvfb & //后台运行
#qpe &
OK, 看到效果了吗? 我想大家都会看到你期待很久的东西, 如果还没用,那么也许你应该在检查前面是否有什么问题.
到了这里, 当时的我心情非常开心: 终于可以开始我的应用开发实验了! 可是我高兴的太早了 ! 问题接踵而至.
1.当我关掉当前的qvfb窗口, 尝试再次运行时:
#qvfb &
正常
#qpe &
Can't open framebuffer device /dev/fb0
Transformed driver cannot connect
还好,google了一下,找到了解决方法:
(引用一下别人:)
" 其实问题出在qpe.conf这个文件,里面的变量发生了变化.
有两中方法解决:
1.在qvfb之前加上一句export QWS_DISPLAY=QVFb:0;
2.如果上述方法不行,哪只能从你的备份中把/root/Settings的qpe.conf替换,
最坏的是重新在来一边! "
我将qpe.conf 给rm 了
呵呵,你有没有解决?
2下面也许你要自己动手写一个简单的程序, 我是这样, 一厢情愿的以为所有的问题都没有了,哈哈,
如果你写的代码没有问题, 但是编译的时候却出错了, 如果你的错误类似下面:
main.cpp:2:35: qtopia/qpeapplication.h: No such file or directory
main.cpp: In function `int main(int, char**)':
main.cpp:6: `QPEApplication' undeclared (first use this function)
main.cpp:6: (Each undeclared identifier is reported only once for each function
it appears in.)
main.cpp:6: parse error before `(' token
main.cpp:9: `a' undeclared (first use this function)
main.cpp:5: warning: unused parameter `int argc'
main.cpp:5: warning: unused parameter `char**argv'
make: *** [.obj/linux-generic-g++//main.o] Error 1
有开始google,baidu,不是很顺利,但是最终还是给我找到了方法:
回到我的/root/qtopia/qtopia_1.6_install下,
回到我的/root/qtopia/qtopia_1.6_install下,
运行ldconfig,使生成的qt和qtopia库有效,运行一次即可, 而我在前面编译的过程中没有这个过程。
当然,在这之前你应该修改一下你的/etc/ld.so.conf
"为了在PC上模拟运行Qtopia,需要用到对应Qt版本的库文件,因此需要修改/etc/ld.so.conf文件以适应刚刚安装的Qt"
在试验一次,问题解决了吗 ?
到这里, 我建议你去编译一下qtopia带的example .路径是qtopia-free-1.6.0/examples/
有 一个application,文件名就叫example
开始编译:
#tmake -o Makefile example.pro
#make
#qvfb &
#./example -qws
怎么样?
好了,我目前只做到这里了,经验还不是很多, 都贴出来了
如果你还有什么问题, 看看这个:
http://www.arm9.net/sbc-2410x_howto_qtopia_install.asp 为了大家学习交流贴出这个网址, 如果你打开的是乱码 ,想想办法吧. 呵呵
大家有什么经验.心得,希望可以贴出来分享! 如果上面有什么不对的地方, 请回复告诉我, 谢谢了, 不能让错误的东西误导别人!
[ 此贴被XChinux在2006-05-07 22:39重新编辑 ]