Linux交叉编译工具链使用安装zlib、libpng、freetype 及遇到的问题

freetype 依赖于 libpng ,libpng依赖zlib 

下载三个压缩包,并解压

安装zlib-1.2.11

创建一个zlib目录。

输入命令   

CC=arm-linux-gnueabihf-gcc LD=arm-linux-gnueabihf-ld AD=arm-linux-gnueabihf-as ./configure --prefix=/home/ym/linux/ym/tool/zlib

 make
 make install

  -ld 表示连接器   -as 表示汇编  --prefix  ,“--prefix”参数指定编译完成以后的 zlib文件安装到哪里

笔者在网上看到有的方法是没有指定目录,直接安装在默认文件夹,或者将zlib-1.2.11目录下Makefile中的gcc 全部修改成arm-linux-gnueabihf-gcc 。这两种方法都是试过,但是安装libpng是提示没有安装zlib。

将zlib 下的inlcue中的文件和lib中的文件拷贝交叉编译器下的目录,这样安装libpng时就不会报错

sudo cp include/* -rf /usr/local/arm/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/lib/gcc/arm-linux-gnueabihf/4.9.4/include
 sudo cp lib/* -rfb /usr/local/arm/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/arm-linux-gnueabihf/libc/usr/lib

安装libpng-1.6.37

创建一个libpng目录。

        输入命令
 

./configure --host=arm-linux-gnueabihf --prefix=/home/ym/linux/tools/libpng/

make

make install

将libpng目录下的inlcue中的文件和lib中的文件拷贝交叉编译器下的目录。命令与zlib中的一样

可以用file 命令查看 lib 下.so文件是否是32位的

笔者遇到过安装完毕,不是32位的情况。

安装freetype 2.10.2

 

./configure --host=arm-linux-gnueabihf --prefix=/home/ym/linux/tools/freetype / 

make

make instal

l

将freetype 目录下的inlcue中的文件和lib中的文件拷贝交叉编译器下的目录。命令与zlib中的一样。

通过file命令查看lib目录下..so文件是否是32位的

安装时有这样的提示,这里不清楚为社么libpng还是no。但是已经安装成功。ka

参考文件  嵌入式Linux应用开发完全手册V5_IMX6ULL_Pro开发板        

                【正点原子】I.MX6U嵌入式Linux驱动开发指南V1.81

                

        

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 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
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值