在linux3.4.2内核配置freetype

在PC上配置环境

将freetype移动到/user/local/目录下。

sudo tar -xjf freetype-2.4.10.tar.bz2

sudo mv freetype-2.4.10   freetype-2.4.10_pc

cd freetype-2.4.10_pc/

./configure                                 //配置

make                                        //编译

sudo make install                           //直接将库安装到根目录/usr/local/,所以需要加sudo

但是在最后一步的时候出现了问题:

rmdir: failed to remove '/usr/local/include/freetype2/freetype/internal': No such file or directory

说的是没有这个目录,那么建一个就好了…

sudo mkdir -p /usr/local/include/freetype2/freetype/internal

没有错误了。完成。

arm-linux开发环境配置

由于最终的目的是在硬件上跑lcd程序,所以还需要在硬件上配置相关文件。在这里我的平台是:s3c2440+linux3.4.2。交叉编译链版本是:arm-linux-gcc 4.3.2。

sudo tar -xjf freetype-2.4.10.tar.bz2   
sudo mv freetype-2.4.10 freetype-2.4.10_arm
cd freetype-2.4.10_arm
mkdir   tmp                                    //创建安装的临时目录,后面会拷贝到交叉编译目录里
./configure --host=arm-linux  --prefix=$PWD/tmp  //配置交叉编译,安装前缀
make
make install 
cd tmp/

下面需要将include下的头文件拷贝到交叉编译里去,首先是要查看交叉编译工具链在哪一个目录下面。

echo $PATH

输出:

/home/book/bin:/home/book/.local/bin:/usr/local/arm/4.3.2/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/work/tools/gcc-3.4.5-glibc-2.3.6/bin:/snap/bin
/usr/local/arm/4.3.2目录下有众多的include目录,那么应该将freetype的目录放在什么地方呢?

find -name stdio.h

./arm-none-linux-gnueabi/libc/usr/include/stdio.h 标准输入输出头文件在这里,那freetype相应的头文件也应该放在这里,才能在编译是被找到。
同时,编译的库文件应处于:./arm-none-linux-gnueabi/libc/armv4t/lib
可以选择先对freetype库进行编译,然后再把编译后的相关文件放到相应的文件夹中。返回freetype文件夹:

./configure --host=arm-linux
make

安装在一个指定位置:

make DESTDIR=$PWD/tmp install

报错:
rmdir: failed to remove ‘/usr/local/freetype-2.4.10_arm/tmp/usr/local/include/freetype2/freetype/internal’: No such file or directory
那就建立一个这样的文件夹。。。

mkdir /usr/local/freetype-2.4.10_arm/tmp/usr/local/include/freetype2/freetype/internal

拷贝文件到相应目录:

sudo cp * /usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/armv4t/lib -d -rf
cp *so* /work/nfs_root/fs_mini/lib -d

把tmp/usr/local/include/* 复制到 /usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/usr/include

sudo cp * /usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/usr/include -rf
cd /usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/usr/include
sudo mv freetype2/freetype .

进入硬件跟文件系统之后,将lib中的* so *文件copy到根文件的lib中。
结束。

你可能感兴趣的:(linux学习)