petalinux 安装Openblass库

git clone https://github.com/xianyi/OpenBLAS.git

环境变量配置

设置交叉编译工具链路径和系统根目录(sysroot),确保编译工具和库文件能正确引用:

bash 复制代码
export CROSS_PREFIX=/opt/petalinux/2020.2/sysroots/x86_64-petalinux-linux/usr/bin/aarch64-xilinx-linux/aarch64-xilinx-linux-
export CC=${CROSS_PREFIX}gcc
export SYSROOT=/opt/petalinux/2020.2/sysroots/aarch64-xilinx-linux

编译参数说明

执行 make 时需指定以下关键参数,适配 Xilinx ARM64 平台:

bash 复制代码
make TARGET=ARMV8 BINARY=64 \
  CC="${CC} --sysroot=${SYSROOT}" \
  HOSTCC=gcc \
  NOFORTRAN=1 \
  NO_AFFINITY=1 \
  USE_OPENMP=0
  • TARGET=ARMV8 BINARY=64:指定目标架构为 ARMv8 64 位。
  • CC="{CC} --sysroot={SYSROOT}":强制编译器使用指定的 sysroot 路径查找头文件和库。
  • HOSTCC=gcc:本地编译工具链使用系统默认的 gcc。
  • NOFORTRAN=1:禁用 Fortran 支持。
  • NO_AFFINITY=1:关闭 CPU 核心绑定功能(适用于嵌入式环境)。
  • USE_OPENMP=0:禁用 OpenMP 多线程支持。

make PREFIX=/petalinux/OpenBLAS/build/install install

常见问题排查

若编译失败,检查以下内容:

  1. 路径有效性 :确认 CROSS_PREFIXSYSROOT 路径是否存在。
  2. 工具链权限:确保交叉编译工具链可执行。
  3. 依赖库:sysroot 中需包含必要的 C 库和头文件。

验证生成结果

编译完成后,通过 file 命令验证生成的二进制文件架构:

bash 复制代码
file your_binary

输出应包含 ARM aarch64 标识。

相关推荐
龚建波3 小时前
《QDebug 2025年12月》
qt
特立独行的猫a6 小时前
HarmonyOS鸿蒙PC开源QT软件移植:基于 Qt Widgets 的网络调试助手工具
qt·开源·harmonyos·鸿蒙pc
世转神风-6 小时前
qt-通信协议基础-uint64_t转QByteArray-小端系统
开发语言·qt
世转神风-7 小时前
qt-uint64_t转QByteArray小端字节序并指定长度-小端系统
qt
lxmyzzs7 小时前
解决Ubuntu中OpenCV报错:Qt平台插件“xcb”加载失败(apt安装方案实测有效)
qt·opencv·ubuntu
我可以将你更新哟7 小时前
【pyqt-1】把Qt Designer集成到pyCharm,PyQT(窗口、添加空控件、事件处理)
qt·pycharm·pyqt
会飞的胖达喵21 小时前
Qt自动信号槽连接机制:深入解析与应用实践
开发语言·qt
Lhan.zzZ1 天前
Qt跨线程网络通信:QSocketNotifier警告及解决
开发语言·c++·qt
Aevget1 天前
QtitanDocking 如何重塑制造业桌面应用?多视图协同与专业界面布局实践
c++·qt·界面控件·ui开发·qtitandocking
qq_401700411 天前
QUdpSocket---单播
qt