今天尝试着对Qt/E自带的程序进行编译,获得了很多新的理解:
1.编译方法:
在tutorial目录下有14个例子,进入t1-t8种的任意一个目录,发现有原程序和工程文件.pro,以及没有内容的Makefile文件。
tmake -o Makefile t1.pro
修改Makefile中的LINK = gcc 为 LINK = g++
make
这样就生成了可执行文件t1。
./t1 -qws
则结果会显示在qvfb中
注:在tmake之前要设置环境变量
export TMAKEDIR=$PWD/tmake
export TMAKEPATH=$TMAKEDIR/lib/qws/linux-generic-g++
export PATH = $TMAKEDIR/bin:$PATH
2. 有些程序可能无法运行,由于缺少库文件。
所以要进行下面的环境变量的设置才能执行,
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
3. 在tutorial中有些例子是无法编译的,因为我再编译Qt/E是configure中使用的选项是-qconfig -qpe,也就是qconfig-qpe.h,该文件中定义了一些宏。这个文件是用来配置Qt/E库文件的大小的。如果当初配置成-all的话则肯定各个例子都能顺利编译。
所以今后要自己正对自己的程序用到的库,自己写一个配置文件qconfig-myconfig.h以实现Qt/E库文件的裁减。以节省Memory。
请参考文档:
1.《开贴整理QtEmbedded_Qtopia FAQ》
2.《Qt Toolkit - The Feature Definition File》