FC4默认安装的GCC4.0不可以用,而是要安装GCC3.2即这两个包:compat-gcc-32(CD3)&compat-gcc-32-c++ (CD4)
编译qt-embedded-2.3.7.tar.gz
需要制定CPATH PATH LD_LIBRARY_PATH 到gcc-3.3的目录下
/usr/lib/gcc-lib/i386-redhat-linux/3.2.3/
CPATH=/usr/lib/gcc-lib/i386-redhat-linux/3.2.3/include:$CPATH
PATH =/usr/lib/gcc-lib/i386-redhat-linux/3.2.3/include:$PATH
LD_LIBRARY_PATH
=/usr/lib/gcc-lib/i386-redhat-linux/3.2.3:$
LD_LIBRARY_PATH
#编译qtopia-free-1.7.0.tar.gz
#要替换
#$QPEDIR/configs/linux-generic-g++-shared
#$QPEDIR/configs/linux-generic-g++-shared-debug
#而且要把LINK个gcc 换成g++
编译过程中不能用fc4自带的gcc4.0.0编译要用gcc3.2.3来编译,所以要将配置文件中的g++全部替换为g++32,gcc全部替换为
gcc32,主要替换的有这几个地方
$QTEDIR/configs/linux-x86-g++-shared
$QTEDIR/configs/linux-x86-g++-shared-debug
$TMAKEDIR/lib/qws/linux-x86-g++/tmake.conf
$TMAKEDIR/lib/linux-x86-g++/tmake.conf
$QPEDIR/mkspecs/qws/linux-x86-g++/qmake.conf
还有可能以上目录中的linux-generic-g++里的配置文件替换编译参数就可以了
其实就是根据
QMAKESPEC=和TMAKEPATH=
进行替换
环境变量
TMAKEDIR=/home/arm/tmake-1.13
QT2DIR=/home/arm/qt-x11-2.3.2
QTEDIR=/home/arm/qt-embedded-2.3.10
QPEDIR=/home/arm/qtopia-2.1.1
QT3DIR=/usr/lib/qt-3.3
QTDIR=$QTEDIR
DQTDIR=$QT3DIR
TMAKEPATH=$TMAKEDIR/lib/qws/linux-x86-g++
QMAKESPEC=linux-x86-g++
PATH=$QT2DIR/bin:$QTEDIR/bin:$QPEDIR/bin:$DQTDIR/bin:$QT3DIR/bin:$QTDIR/bin:$TMAKEDIR/bin:$PATH
LD_LIBRARY_PATH=$QT2DIR/lib:$QTEDIR/lib:$QPEDIR/lib:$DQTDIR/lib:$QT3DIR/lib:$QTDIR/lib:$LD_LIBRARY_PATH
export TROLLTECHDIR TMAKEDIE QT2DIR QTEDIR QPEDIR QT3DIR QTDIR DQTDIR TMAKEPATH QMAKESPEC PATH LD_LIBRARY_PATH CPATH
在编译qvfb的时候有可能遇到ld找不到库的问题
改前LIBS=$(SUBLIBS) -L$(QTDIR)/lib -L/usr/X11R6/lib -lqt -lXext -lX11 -lm
改后LIBS=$(SUBLIBS) -L$(QTDIR)/lib -L/usr/X11R6/lib -L$(QTEDIR)/lib -lqt -lXext -lX11 -lm -lqte
只要添加$QTEDIR/lib库就可以了在后面参数中添加-lqte就可以了,这样编译文件没问题
按这样的步骤执行可能不能生成frame buffer后我改用静态连接的办法实现了该功能
1.编译qt-2.3.2
cd $QT2DIR
export TMAKEPATH=$TMAKEDIR/lib/linux-x86-g++
export QTDIR=$QT2DIR
export PATH=$QTDIR/bin:$PATH
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
./configure -static -no-xft -no-opengl -no-sm
make
mkdir $QTEDIR/bin
cp bin/uic $QTEDIR/bin/
2.编译qvfb
export TMAKEPATH=$TMAKEDIR/lib/linux-g++
export QTDIR=$QT2DIR
export PATH=$QTDIR/bin:$PATH
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
cd $QTEDIR/tools/qvfb
tmake -o Makefile qvfb.pro
make
mv qvfb $QTEDIR/bin/
3.编译qt/embedded
cd $QTEDIR
cp $QPEDIR/src/qt/qconfig-qpe.h $QTEDIR/src/tools
export TMAKEPATH=$TMAKEDIR/lib/qws/linux-x86-g++
export QTDIR=$QTEDIR
export PATH=$QTDIR/bin:$PATH
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
./configure -debug -qconfig qpe -qvfb -depths 4,8,16,32 -keypad-mode -system-jpeg -gif
编译qt/e2.3.7 //原因2.3.7 没有-keypad-mode选项
./configure -debug -qconfig qpe -qvfb -depths 4,8,16,32 -system-jpeg -gif
make sub-src
4.编译qtopia
cd $QPEDIR
export QTDIR=$QTEDIR
export PATH=$QTDIR/bin:$PATH
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
./configure -debug -platform linux-x86-g++
make
编译qtopia的过程最重要的就是环境的设置问题了,很多情况下就是因为环境设置不正确的问题而导致编译
出错或者是编译成功而运行的时候出错,这些问题都要仔细研究一下她的内部结构才可以解决,不要只是找到网上的一些资料然后就完全按
她的去做,这样成功的可能性不会很大,这些东西还是要靠自己一步步去摸索.
由于qtopia没有提供启动脚本所以用下面的启动脚本来启动qtopia界面
#!/bin/sh
TMAKEDIR=/home/arm/tmake-1.13
QT2DIR=/home/arm/qt-x11-2.3.2
QTEDIR=/home/arm/qt-embedded-2.3.10
QPEDIR=/home/arm/qtopia-2.1.1
QT3DIR=/usr/lib/qt-3.3
QTDIR=$QTEDIR
DQTDIR=$QT3DIR
TMAKEPATH=$TMAKEDIR/lib/qws/linux-generic-g++
QMAKESPEC=linux-g++
PATH=$QT2DIR/bin:$QTEDIR/bin:$QPEDIR/bin:$DQTDIR/bin:$QT3DIR/bin:$QTDIR/bin:$TMAKEDIR/bin:$PATH
LD_LIBRARY_PATH=$QT2DIR/lib:$QTEDIR/lib:$QPEDIR/lib:$DQTDIR/lib:$QT3DIR/lib:$QTDIR/lib:$LD_LIBRARY_PATH
export TROLLTECHDIR TMAKEDIE QT2DIR QTEDIR QPEDIR QT3DIR QTDIR DQTDIR TMAKEPATH QMAKESPEC PATH LD_LIBRARY_PATH
findproc() {
/bin/ps -e | /bin/sed -n -e '//<'$1'/>/ s/^ */([0-9][0-9]*/).*//1/p'
}
killproc() {
pid=`findproc $1`
[ "$pid" != "" ] && kill $pid
}
killall quicklauncher
killall qpe
killall qvfb
[ -x /sbin/fuser ] && ( /sbin/fuser -kn tcp 4242 || /sbin/fuser -kn tcp 4243 )
[ -x /bin/fuser ] && ( /bin/fuser -kn tcp 4242 || /bin/fuser -kn tcp 4243 )
echo "Stopping common sound deamons..."
artsd_pid=`findproc artsd`
[ "$artsd_pid" != "" ] && kill $artsd_pid
esd_pid=`findproc esd`
[ "$esd_pid" != "" ] && kill $esd_pid
echo "Starting qvfb..."
qvfb -width 160 -height 280 &
sleep 3s
echo "Starting Qtopia 2.1.1..."
HOME=/home/arm/qtopia-2.1.1/image/opt/Qtopia/demohome qpe
echo "Restarting killed sound deamons..."
[ "$artsd_pid" != "" ] && artsd &
[ "$esd_pid" != "" ] && esd &
其中pcdev是我开始安装时的环境设置脚本
#!/bin/bash
设置TMAKEDIR、QT2DIR、QTEDIR、QPEDIR、QT3DIR、TMAKEPATH、QMAKESPEC、PATH和LD_LIBRARY_PATH这几个变量就可以了
分享到:
相关推荐
qt-vsaddin-msvc2017-2.3.2.vsix vs2017下开发QtCreator,安装后vs2017能够直接打打开QtCreator创建的pro工程,绝对可以使用
qt-vsaddin-msvc2013-2.3.2.vsix
qt-x11-2.3.2.tar.gz 压缩包完成可用
qt-x11-2.2.3.tar.gz qt-x11-2.2.3.tar.gz
qt-x11-2.3.1.tar.gz qt-x11-2.3.1.tar.gz
qt-embedded-2.3.2qt-embedded-2.3.2qt-embedded-2.3.2qt-embedded-2.3.2
QT VS Tools 版本2.3.2.由于较高的版本有问题,会导致项目报错,遇到这类问题就需要降低版本。目前,2.3.2版本比较稳定。
Filename: qt-vsaddin-msvc2017-2.4.1.vsix Size: 12M (12313217 bytes) Last modified: Mon, 30 Sep 2019 13:49:13 GMT (Unix time: 1569851353) SHA-256 Hash: 38195b98d46588a97d6e1b1ed900314c2a6b535952290cecc...
会google/baidu/bing它一定知道是干什么的啦,未经修改的原版包 qt-2.3.10/ changes-2.3.0 changes-2.3.1 changes-2.3.10 changes-2.3.2 changes-2.3.4 changes-2.3.5 ...tmake tools tutorial util
hyperledger-fabric-linux-amd64-2.3.2.tar。有的小伙伴下载老出问题,就放到这上面来了
Hive 2.1.1 的 JDBC 连接驱动,CDH-6.3.1 版本。
emf-sdo-xsd-SDK-2.3.2.zip
Qt/Embedded的安装(本人亲自安装步骤) 准备源码包 ◆ tmake 1.11 或更高版本;(生成Qt/Embedded应用工程的Makefile文件) ◆ Qt/Embedded 2.3.7 (Qt/Embedded 安装包) ◆ Qt 2.3.2 for X11; (Qt的X11版的...
msm
harbor-offline-installer
docker-harbor资源包
maven-jar-plugin-2.3.2.jar
apache-carbondata-1.5.2-bin-spark2.3.2-hadoop2.7.2
memcached-session-manager-tc6-2.3.2.jar