安装与建立qt桌面运行环境
1、
准备工具
操作系统:REDHAT
LINUX 9.0
Qt工具包: tmake-1.13.tar.gz qt-embedded-2.3.10-free.tar.gz qt-x11-2.3.2.tar.gz
2、
安装步骤
把上述3个压缩包某个目录下,我的是存放在/arm2410s/gui/Qt/src目录下。因为redhatlinux9.0的gcc版本是2.95.2,所以要安装编译器arm-linux-gcc-3.4.1。这个需要自己下载一个了。我的gcc压缩包放在/arm2410s/gui/Qt/rools/目录下。下面为安装步骤:
cd /arm2410s/gui/Qt/tools
tar xjvf arm-linux-gcc-3.4.1.tar.bz2
–C ./
然后修改/root/.bash_profile文件中的PATH环境变量
vi /root/.bash_profile
将文件中的PATH变量改为
PATH=$PATH:$HOME/bin:arm2410s/gui/Qt/tools/usr/local/arm/3.4.1/bin/。
然后运行如下命令:
Source /root/.bash_profile
接下来就把下面的代码保存为一个名为qt.sh的脚本,把里面的中文说明去掉,和上述三个源代码包放在同一个目录下。
#!/bin/sh
make()
{
command
make "$@"
}
dbgmake()
{
command
make "$@" > "$BUILD_LOG"
}
echo "set the env vary"
#注意下面pwd左右的两撇是在键盘上数字1键左边的那个键上的撇号。这里是设置环境变量
export TMAKEDIR=`pwd`/tmake-1.13
export QTEDIR=`pwd`/qt-2.3.10
export QT2DIR=`pwd`/qt-2.3.2
echo "display env"
echo $TMAKEDIR
echo $QTEDIR
echo $QT2DIR
解压三个压缩包
echo "unpack"
if [ ! -d $TMAKEDIR ]; then
tar
xzvf tmake-1.13.tar.gz
fi
if [ ! -d $QTEDIR ]; then
tar
xzvf qt-embedded-2.3.10-free.tar.gz
fi
if [ ! -d $QT2DIR ]; then
tar
xzvf qt-x11-2.3.2.tar.gz
fi
下面是测试看看上述解压工作是否成功
echo "check if qtedir exists"
if test -z "$QTEDIR"; then
echo
"PROBLEM:"
echo
"QTEDIR is not set."
echo
"Please set QTEDIR to the location where the Qt-Embedded sources are
installed."
exit
fi
if ! test -d "$QTEDIR"; then
echo
"PROBLEM:"
echo
"QTEDIR doesn't exist"
echo
"Please set QTEDIR to the location where the Qt-Embedded sources are
installed."
exit
fi
if ! test -f
"$QTEDIR/src/kernel/qapplication.cpp"; then
echo
"PROBLEM:"
echo
"QTEDIR exist,but it doesn't seem to contain the required files."
echo
"QTEDIR is set to : $QTEDIR"
echo
"Please check QTEDIR to verify that it points to the location where the
Qt-Embedded sources are installed."
exit
fi
echo "QTEDIR : OK"
echo "check if qt2dir exists"
if test -z "$QT2DIR"; then
echo
"PROBLEM:"
echo
"QT2DIR is not set."
echo
"Please set QT2DIR to the location where the Qt-x11-2.3.2
sources are installed."
exit
fi
if ! test -d "$QT2DIR"; then
echo
"PROBLEM:"
echo
"QT2DIR doesn't exist"
echo
"Please set QT2DIR to the location where the Qt-x11-2.3.2
sources are installed."
exit
fi
if ( ! test -f
"$QT2DIR/src/kernel/qapplication.cpp" || test -d
"$QT2DIR/qmake") && ! test -f "$QT2DIR/bin/uic";
then
echo
"PROBLEM:"
echo
"QT2DIR exist,but it doesn't seem to contain the required files."
echo
"QT2DIR is set to : $QT2DIR"
echo
"Please check QT2DIR to verify that it points to the location where the
Qt-x11-2.3.2 sources are installed."
exit
fi
echo "QT2DIR : OK"
echo "check if qtedir exists"
if test -z "$TMAKEDIR"; then
echo
"PROBLEM:"
echo
"TMAKEDIR is not set."
echo
"Please set QTEDIR to the location where the Qt-Embedded sources are
installed."
exit
fi
if ! test -d "$TMAKEDIR"; then
echo
"PROBLEM:"
echo
"QTEDIR doesn't exist"
echo
"Please set QTEDIR to the location where the Qt-Embedded sources are
installed."
exit
fi
if ! test -f
"$TMAKEDIR/bin/tmake" || ! test -d
"$TMAKEDIR/lib/linux-g++"; then
echo
"PROBLEM:"
echo
"QTEDIR exist,but it doesn't seem to contain the required files."
echo
"QTEDIR is set to : $QTEDIR"
echo
"Please check QTEDIR to verify that it points to the location where the
Qt-Embedded sources are installed."
exit
fi
echo "TMAKEDIR : OK"
export TMAKEPATH="$TMAKDIR/lib/linux-g++"
编译qtx11
echo "build qtx11 if needed"
export QTDIR="$QT2DIR"
cd "$QTDIR"
export PATH="$QTDIR/bin:$PATH"
export
LD_LIBRARY_PATH="$QTDIR/lib:$LD_LIBRARY_PATH"
if ! test -f "$QT2DIR/bin/uic";
then
echo
"***********************************"
echo
"******** build qt-x11-2.3.2********"
echo
"***********************************"
echo
yes | ./configure -no-xft
make
else
echo
"***********************************"
echo
"******Qt-x11-2.3.2 already
built***"
echo
"***********************************"
fi
cp
-arf "$QTDIR/bin/uic" "$QTEDIR/bin/"
echo
"***********************************"
echo
"******** build qvfb****************"
echo
"***********************************"
export
TMAKEPATH="$TMAKDIR/lib/linux-g++"
export QTDIR="$QT2DIR"
export PATH="$QTDIR/bin:$PATH"
export
LD_LIBRARY_PATH="$QTDIR/lib:$LD_LIBRARY_PATH"
cd "$QTEDIR"
cd tools/qvfb
tmake qvfb.pro > Makefile
make
mv qvfb "$QTEDIR/bin"
编译qtembedded
cd "$QTEDIR"
export
TMAKEPATH="$TMAKDIR/lib/qws/linux-x86-g++"
export QTDIR="$QTEDIR"
export PATH="$QTDIR/bin:$PATH"
export
LD_LIBRARY_PATH="$QTDIR/lib:$LD_LIBRARY_PATH"
if ! test -f
"$QTEDIR/lib/libqte-mt.so" -o -f "$QTEDIR/lib/libqte.so" ;
then
echo
"***********************************"
echo
"******** build qt/embedded*********"
echo
"***********************************"
echo
yes | ./configure -no-xft -qvfb -depths 4,8,16,32
make
else
echo
"***********************************"
echo
"******Qt/embedded already built****"
echo
"***********************************"
fi
cd ..
运行如下命令:
source qt.sh
大功告成,在中途有提示输入只要输入yes即可。
文章评论(0条评论)
登录后参与讨论