最近几天由于工作安排,要将wxX11程序移植到arm开发板上。一连工作了好几天,终于可以在板子上显示出一个“X”号,并且可以运行wxWidgets里面的程序,算是成功了。现就一些步骤总结如下。基本上跟网上说的差不多。
由于我们的开发所用的板子现在用不到tslib这样的触摸屏支持,所以这里没有编译。
㈠编译zlib-1.2.5
⒈export CC=arm-linux-gcc
⒉./configure --prefix=/path/to/install
--eprefix=/path/to/install
⒊make
⒋make install -k -i
⒌unset CC
㈡编译ncurses
⒈export CC=arm-linux-uclibc-gcc
⒉./configure --prefix=/path/to/install --host=arm-linux --target=arm-linux --with-build-cc=gcc --with-build-cpp=g++ --without-ada --enable-widec --with-normal
⒊make HOSTCC=gcc CXX=arm-linux-uclibc-g++ && make install
㈢编译tinyx
⒈下载七个压缩文件(当然也可以根据自己的需要下载)
⒉-解压缩
一定要使用命令解压,而且要分别解压。
tar -zxvf XFree86-4.8.0-src-1.tgz
tar -zxvf XFree86-4.8.0-src-2.tgz
tar -zxvf XFree86-4.8.0-src-3.tgz
tar -zxvf XFree86-4.8.0-src-4.tgz
tar -zxvf XFree86-4.8.0-src-5.tgz
tar -zxvf XFree86-4.8.0-src-6.tgz
tar -zxvf XFree86-4.8.0-src-7.tgz
⒊建立一个临时目录
cd xc/config/util/
make lndir
cp lndir /usr/local/bin/
和xc在同一个目录下建立一个文件夹
mkdir armtinyx
cd armtinyx
lndir ../xc/
⒋在 armtinyx/config/cf目录下修改cross.def文件并添加host.def文件(详细文件在下边,在cross.def中设置好你的编译器的路径,在host.def中设置好你的安装路径)
⒌在/armtinyx/lib/X11/Imakefile
#if (BuildServersOnly || !BuildX11Lib) && !XnestServer && !BuildGLXLibrary && !BuildClients && !XdmxServer
修改为
#if (BuildServersOnly || !BuildX11Lib) && !XnestServer && !BuildGLXLibrary && !BuildClients && !XdmxServer && !TinyXServer
⒍make World
⒎make install
⒏将/path/to/install/目录下的文件拷到目标板上,然后设置一下环境变量export PATH=$PATH:/path/to/install/bin,然后运行
Xfbdev,会出现如下错误
Could not open RGB file "/usr/local/arm/X11R6/lib/X11/rgb.txt"; will use built-in copy.
这时,在自己电脑的linux
由于我们的开发所用的板子现在用不到tslib这样的触摸屏支持,所以这里没有编译。
㈠编译zlib-1.2.5
⒈export CC=arm-linux-gcc
⒉./configure --prefix=/path/to/install
--eprefix=/path/to/install
⒊make
⒋make install -k -i
⒌unset CC
㈡编译ncurses
⒈export CC=arm-linux-uclibc-gcc
⒉./configure --prefix=/path/to/install --host=arm-linux --target=arm-linux --with-build-cc=gcc --with-build-cpp=g++ --without-ada --enable-widec --with-normal
⒊make HOSTCC=gcc CXX=arm-linux-uclibc-g++ && make install
㈢编译tinyx
⒈下载七个压缩文件(当然也可以根据自己的需要下载)
⒉-解压缩
一定要使用命令解压,而且要分别解压。
tar -zxvf XFree86-4.8.0-src-1.tgz
tar -zxvf XFree86-4.8.0-src-2.tgz
tar -zxvf XFree86-4.8.0-src-3.tgz
tar -zxvf XFree86-4.8.0-src-4.tgz
tar -zxvf XFree86-4.8.0-src-5.tgz
tar -zxvf XFree86-4.8.0-src-6.tgz
tar -zxvf XFree86-4.8.0-src-7.tgz
⒊建立一个临时目录
cd xc/config/util/
make lndir
cp lndir /usr/local/bin/
和xc在同一个目录下建立一个文件夹
mkdir armtinyx
cd armtinyx
lndir ../xc/
⒋在 armtinyx/config/cf目录下修改cross.def文件并添加host.def文件(详细文件在下边,在cross.def中设置好你的编译器的路径,在host.def中设置好你的安装路径)
⒌在/armtinyx/lib/X11/Imakefile
#if (BuildServersOnly || !BuildX11Lib) && !XnestServer && !BuildGLXLibrary && !BuildClients && !XdmxServer
修改为
#if (BuildServersOnly || !BuildX11Lib) && !XnestServer && !BuildGLXLibrary && !BuildClients && !XdmxServer && !TinyXServer
⒍make World
⒎make install
⒏将/path/to/install/目录下的文件拷到目标板上,然后设置一下环境变量export PATH=$PATH:/path/to/install/bin,然后运行
Xfbdev,会出现如下错误
Could not open RGB file "/usr/local/arm/X11R6/lib/X11/rgb.txt"; will use built-in copy.
这时,在自己电脑的linux