Linux 下 Qt 4.6.0 嵌入式开发环境的搭建、移植
转自http://hi.baidu.com/jiyeqian/blog/item/f46d26a2ff3f7da6caefd0d6.html
Qt:qt-everywhere-opensource-src-4.6.0.tar.gz
嵌入式平台:2440
arm-linux-gcc:4.1.2,下载(我用4.3.2和4.4.1版本时,移植时都有段错误。我把它放在:/usr/local/arm/4.1.2/ 。)
将 qt-everywhere-opensource-src-4.6.0.tar.gz 压缩包解压为3份,分别编译 PC ,嵌入式 x86 和 arm 三个版本。
1. 编译 PC 版:
$ ./configure
$ make
# make install
2. 编译嵌入式x86版:
$ ./configure -embedded x86 -qt-gfx-qvfb -qt-kbd-qvfb -qt-mouse-qvfb
$ make
# make install
编译安装PC版中的 qvfb:
$ cd ***/qt-everywhere-opensource-src-4.6.0/tools/qvfb
$ make
# cp ***/qt-everywhere-opensource-src-4.6.0/bin/qvfb /usr/local/Trolltech/QtEmbedded-4.6.0/bin
3. 编译嵌入式arm版(需要 arm-linux-gcc 的支持):
编译tslib对触摸屏支持:
编译tslib需要安装
sudo apt-get install autoconf
sudo apt-get install automake
sudo apt-get install libtool
下载,tslib1.4.tar.gz,解压后:
#cd tslib/
#export CC=/usr/local/arm/4.1.2/bin/arm-linux-gcc
#export CXX=/usr/local/arm/4.1.2/bin/arm-linux-g++
运行
#./autogen.sh
#echo "ac_cv_func_malloc_0_nonnull=yes" >arm-linux.cache
配置安装参数
#./configure --host=arm-linux --cache-file=arm-linux.cache --enable-inputapi=no PLUGIN_DIR=/usr/local/arm/tslib/plugins -prefix=/usr/local/arm/tslib/build -host=arm-linux --cache-file=arm-linux.cache 2>&1 | tee conf_log
编译
#make 2>&1 | tee make_log
#make install
这样做的原因是
李先静 老师的博客之《交叉编译场景分析(arm-linux)(二)--编译tslib》,他对这个问题理解很透彻,下面引用原话>>>>:
在当前目录查找了rpl_malloc,发现configure里有#define malloc rpl_malloc一行。分析configure 脚本相关的代码,原来是ac_cv_func_malloc_0_nonnull引起的,OK我们不让它检查了,产生一个cache文件arm-linux.cache,欺骗configure:
[root@linux tslib]# echo "ac_cv_func_malloc_0_nonnull=yes" >$ ARCH -linux.cache
[root@linux tslib]# ./configure --prefix=$(ROOTFS_DIR)/usr --host=$ ARCH -linux --cache-fil
相关文档:
在linux的驱动程序中,都会使用大量的outb、outw、inb、inw等等宏来访问硬件或寄存器。这些宏的定义都在相应处理器体系下的include\asm目录下的io.h中定义。追究下去,这些宏最终就是一个volatile变量的的赋值:
#define __arch_putb(v,a) (*(volatile unsi ......
入门篇
《LINUX权威指南》书不错,写的很全面也比较广,涉及的不深,做为入门书籍不错,可以比较全面的了解linux。另外比较热门的也可以看看《鸟哥的私房菜》等书,偏管理类的书。如果想做server方向的可以找来看看。
驱动篇
《LINUX设备驱动程序》就是网上说的“LDD”,经典之作,必备书籍。国产经典《Lin ......
首先检查bind是否正常安装(以下命令仅限于rpm包的检查)
rpm -qa|grep bind
如果出现相应的安装包信息,则可以进入下一步
接下来是使用bind配置DNS所需要的系统以及对应文件,大致如下:
/etc/hosts --主机ip与域名之间的一个对应文件(系统自带),可以实现快速解析的功能
该文件的配置内容大致如下:
# Do n ......
转载自:http://howieshen.blogbus.com/logs/33958295.html
启动服务器时发现停在 starting sendmail 和 starting
sm-client,等了好久才可以进去,开始以为是主机设置的问题,查看了一下发现我设置错误
服务器:
/etc/hosts:
192.168.1.119 server
192.168.1.123 ......