Linux安装zlib、libpng、freetype给交叉编译工具链使用

zlib、libpng、freetype这三个是不同的库,所谓安装也就是用相应的工具链编译,并把编译好的头文件和库文件放到正确的位置。

freetype依赖于libpng,libpng又依赖于zlib,所以安装顺序是zlib—lbpng-freetype。

什么是正确的位置?

就是我们交叉编译工具链在编译程序时去找头文件和库文件的位置。

如何知道这个位置?

执行如下命令:

echo 'main(){}'| arm-linux-gcc -E -v -

头文件位置:/work/tools/gcc-3.4.5-glibc-2.3.6/lib/gcc/arm-linux/3.4.5/include

库文件位置:/work/tools/gcc-3.4.5-glibc-2.3.6/arm-linux/lib

1.安装zlib

下载源码,打开官方网站www.zlib.net

解压:

xz -d zlib-1.2.12.tar.gz.xz
tar -vxf zlib-1.2.12.tar.gz

 进入zlib目录:

cd zlib-1.2.12

创建一个输出目录

mkdir buildout

配置

./configure --prefix=./buildout

修改Makefile文件

vim Makefile
CC=gcc改为CC=arm-linux-gcc 
LDSHARED=gcc改为LDSHARED=arm-linux-gcc 
CPP=gcc -E改为CPP=arm-linux-gcc -E 
AR=ar改为AR=arm-linux-ar

执行make,然后执行make install ,执行完就在buildout目录下生成我们需要的文件了

移动到正确的目录

cp ./buildout/include/* -rf /work/tools/gcc-3.4.5-glibc-2.3.6/lib/gcc/arm-linux/3.4.5/include

cp ./buildout/lib/* -rfd /work/tools/gcc-3.4.5-glibc-2.3.6/arm-linux/lib

2.安装libpng

前面都一样www.libpng.com下载解压,进入目录

然后执行下面三条命令

./configure --host=arm-linux --prefix=$PWD/tmp
make
make install

执行完就在tmp目录下生成了我们需要的头文件和库

移动到正确的目录

cp ./tmp/include/* -rf /work/tools/gcc-3.4.5-glibc-2.3.6/lib/gcc/arm-linux/3.4.5/include

cp ./tmp/lib/* -rfd /work/tools/gcc-3.4.5-glibc-2.3.6/arm-linux/lib

3.安装freetype

过程和安装libpng一模一样

需要注意的是他的头文件include目录下还有一层目录,为freetype2,应当用命令:

mv ./tmp/include/freetype2/*  ./tmp/include

移动后再移动至交叉编译根据的头文件目录。

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
要在 Linux 系统上进行交叉编译带有 X11 的 ARM 架构的 Qt 应用程序,您需要遵循以下步骤: 1. 安装交叉编译工具 您需要从 ARM 架构的供应商处获取交叉编译工具,然后将其安装Linux 系统上。这个工具可以让您将 Qt 应用程序编译成 ARM 架构的二进制文件。 2. 下载 Qt SDK 您需要从 Qt 官方网站下载适用于 ARM 架构的 Qt SDK。确保您选择了适当的版本,并下载相应的源代码和二进制文件。 3. 配置 Qt 在运行 configure 脚本之前,您需要设置一些环境变量,例如交叉编译工具的路径和 Qt 的路径。使用以下命令设置这些变量: ``` export CC=arm-linux-gcc export CXX=arm-linux-g++ export PATH=/path/to/cross-compiler/bin:$PATH export PKG_CONFIG_PATH=/path/to/qt/lib/pkgconfig ``` 然后,在 Qt 源代码目录下运行 configure 脚本: ``` ./configure -prefix /path/to/qt \ -embedded arm \ -xplatform linux-arm-gnueabi-g++ \ -no-glib \ -no-cups \ -no-pch \ -no-largefile \ -no-accessibility \ -no-gtkstyle \ -no-pulseaudio \ -no-alsa \ -no-sm \ -no-xinerama \ -no-xkb \ -no-xinput \ -no-xvideo \ -no-xsync \ -no-xrandr \ -no-xcursor \ -no-xfixes \ -no-xshape \ -no-xdamage \ -no-xrender \ -no-xinput2 \ -no-xkbcommon \ -no-icu \ -no-openssl \ -no-fontconfig \ -no-harfbuzz \ -no-gstreamer \ -no-opengl \ -no-opengles \ -no-eglfs \ -no-directfb \ -no-kms \ -no-linuxfb \ -no-mirclient \ -no-wayland \ -no-vulkan \ -no-widgets \ -no-qml-debug \ -qt-libjpeg \ -qt-libpng \ -qt-freetype \ -qt-zlib ``` 在配置过程中,您需要输入一些参数,例如交叉编译工具的路径和 Qt 的路径。根据您的需求进行选择。 4. 编译 Qt 在成功配置 Qt 后,您可以使用以下命令来编译 Qt: ``` make -j4 ``` 其中,“-j4”参数指定使用 4 个线程进行编译。您可以根据需要适当调整线程数。 5. 测试 Qt 在编译完成后,您可以使用以下命令来测试 Qt: ``` make check ``` 这个命令将运行 Qt 的测试套件。如果所有测试都通过,则说明 Qt 成功编译。 6. 编译应用程序 现在,您可以使用交叉编译工具来编译您的 Qt 应用程序了。使用以下命令来编译应用程序: ``` arm-linux-g++ -o app main.cpp -I/path/to/qt/include -L/path/to/qt/lib -lQtGui -lQtCore -lX11 ``` 其中,“main.cpp”是您的应用程序的源代码文件,而“-I/path/to/qt/include”和“-L/path/to/qt/lib”参数分别指定 Qt 头文件和文件的路径。最后,“-lQtGui -lQtCore -lX11”参数指定要接的 Qt 和 X11 。 希望这些步骤能够帮助您成功地交叉编译带有 X11 的 ARM 架构的 Qt 应用程序。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

闪耀大叔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值