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 标识。

相关推荐
用户805533698034 天前
不止三件套:QObject 属性系统全关键字与运行时反射!
c++·qt
xcyxiner4 天前
DicomViewer (vcpkg Windows和ubuntu编译)7
qt
Quz9 天前
QML Hello World 入门示例
qt
xcyxiner12 天前
DicomViewer (dcmtk读取dcm文件)5
qt
xcyxiner13 天前
DicomViewer (后台线程处理文件)4
qt
xcyxiner13 天前
DicomViewer (添加模型类)3
qt
xcyxiner14 天前
DicomViewer (目录调整) 2
qt
xcyxiner14 天前
dcmtk vtk vtk-dicom(gdcm) 编译(debug) v2
qt
桥田智能16 天前
桥田智能 QT-650S:面向白车身焊装的 800kg 重载快换解决方案
开发语言·qt·系统架构
森G16 天前
75、服务器源码解析---------云视频服务项目
linux·服务器·网络·c++·qt