我比较笨,花了 五天时间把 qte环境搭建成功了 。我疑惑基本上是从开放的互年网上获得。我在此感谢他们的文章对我的 帮助。所以现在我把的建立环境过程跟大家分享一下:
我是自学嵌入式linux应用程序开发的,希望大家能给我一些建议和帮助。我首先和大家一样从网上qte的四个压缩包;qt-embedded-2.3.7.tar.gz qtopia-free-1.7.0.tar.gz qt-x11-2.3.2.tar.gz tmake-1.13.tar.gz 我把他们解压在/home/qt目录下,首先配置环境变量,刚开始的时候不知道全部用export添加,但是老出错。解压后重命名了。mv tmake-1.13 tmake mv qt-2.3.7 qte mv qt-2.3.2 qt
mv qtopia-free-1.7.0 qtopia;名字随便你了改不 改了。在/home/qt建立一个set-env用一次添加环境变量的。vi set-env
输入如下内容:export TMAKEDIR=$PWD/tmake
export TMAKEPATH=$TMAKEDIR/lib/qws/linux-x86-g++
export QTDIR=$PWD/qte
export QPEDIR=$PWD/qtopia
export PATH=$QTDIR/bin:$QPEDIR/bin:$TMAKEDIR/bin::$PATH退出保存。source set-env就好 了
你 可以输入:tamke看看有没有成功额。
tmake就建好 了。
2.安装qt-embeded
cd qte
export QTEDIR=$QTDIR
export PATH=$QTDIR/bin:$PATH
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
cp $QPEDIR/src/qt/qconfig-qpe.h src/tools/
./configure -qconfig qpe -qvfb -depths 4,8,16,32 (你也可以通过../config
ure --help)
如果这部出问题了,可能的编译器版本有问题了 --注意了。qte-2.3.7的编译器不能高于4阿,我之前用了 一直提示错误,后来用了gcc3.2.3一个错误也没有。
make sub-src(如果编译器版本与qt版本符合应该没有错误)
3。qt-xll的编译(版本要比qt-emedded低)
cd qt
export QTDIR=$PWD
export PATH=$QTDIR/bin:$PATH
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
./confgiure -no-xft -no-opemgl
make
make -C tools/qvfb
cp tools/qvfb/qvfb $QTEDIR/bin(这样方便阿,只要添加qte的路径就好 了,不要qt的)
cp bin/designer $QTEDIR/bin(同上)
cp bin/uic $QTEDIR/bin(同上)
这样就用不到qt了,所以就不添加它的环境变量了 )
4。qtopia
cd qtopia
export QTDIR=$QTEDIR
export PATH=$QPEDIR/bin:$PATH
cd src
./configure
make
至此如果错误环境就搭建好 了。
我遇到的问题:
之前我gcc4.2.1编译时候,产生莫名奇妙的错误,不过网上也解决的方法,但是那样麻烦阿。我从网获知,gcc的 版本太高了,
所以还高兴的下载了低版本,好 了,下载好了 。却装不去了 。还不知道什么原因了。却无意中发现自带的gcc3.2.3我高兴,我但是默认的是gcc4.2.1的版本。gcc -v查看版本。进入gcc所在的目录。我把原来的g++重命名了sudo mv g++ g++4.2.1
然后把低版本g++符号连接到g++就好 了。
现在就来测试qte自带程序可不可以跑起来。不过在qvfb上才可以运行:就在make的时候提示:
g++ -c -pipe -DQWS -fno-exceptions -fno-rtti -Wall -W -O2
-fno-default-inline -DNO_DEBUG -I/home/qt/qte/ -o
hello.o hello.cpp
g++ -c -pipe -DQWS -fno-exceptions -fno-rtti -Wall
-W -O2 -fno-default-inline -DNO_DEBUG
-I/home/qt/qte//include -o main.o main.cpp
g++ -c -pipe
-DQWS -fno-exceptions -fno-rtti -Wall -W -O2 -fno-default-inline
-DNO_DEBUG -I/home/qt/qte//include -o moc_hello.o
moc_hello.cpp
gcc -o hello hello.o main.o moc_hello.o -L/home/qt_x86/qt-2.3.7-emb/lib -lm -lqte
/home/qt/qte/lib/libqte.so: undefined reference to `QWizard::staticMetaObject()'
collect2: ld returned 1 exit status
make: *** [hello] Error 1
修改方法:vi ***.pro( 你的工程文件)
EMPLATE = app
CONFIG = qt warn_on release(修改为
CONFIG = qt qtopia warn_on release)
HEADERS = hello.h
SOURCES = hello.cpp main.cpp
TARGET = hello
然后重新生成makefile文件
make成功了
却提示/hello: error while loading shared libraries: libqpe.so.1: cannot open shared object file: No such file or directory
解决方法:qte qtopia两个下的lib加入/etc/ld.so.conf
echo /home/qt/qte/lib >> /etc/ld.so.conf
echo /home/qtopia/qte/lib >> /etc/ld.so.conf
然后ldconfig在看看(不要漏了)
结束了。感谢您的阅读。可以把的建议或者错误告诉我。
2008 。8。1
00:29