petalinux 安装Armadillo

https://gitlab.com/conradsnicta/armadillo-code/-/tree/9.900.x?utm_source=chatgpt.com

可以将上述内容合并为一条命令,通过反斜杠 \ 和换行符保持可读性。以下是优化后的格式:

sh 复制代码
cmake ..\ -DCMAKE_TOOLCHAIN_FILE=../Toolchain-arm64.cmake \
         -DCMAKE_INSTALL_PREFIX=/petalinux/Armadillo/build/install \
         -DCMAKE_BUILD_TYPE=Release \
         -DARMA_USE_WRAPPER=ON \
         -DBLAS_LIBRARIES=/petalinux/OpenBLAS/build/install/lib/libopenblas.so \
         -DLAPACK_LIBRARIES=/petalinux/OpenBLAS/build/install/lib/libopenblas.so \
         -DCMAKE_INCLUDE_PATH=/petalinux/OpenBLAS/build/install/include \
         -DCMAKE_LIBRARY_PATH=/petalinux/OpenBLAS/build/install/lib

注意事项

注意事项

代码块示例(遵循格式规范):

cmake 复制代码
# 示例代码块
SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O2")
  • 每行参数对齐,便于阅读和修改。
  • 反斜杠 \ 表示命令延续到下一行。
  • 确保路径和文件名与实际环境一致。
  • Toolchain-arm64.cmake用opencv的就可以

配置交叉编译工具链

SET(CMAKE_SYSTEM_NAME Linux)SET(CMAKE_SYSTEM_PROCESSOR aarch64) 用于指定目标系统为 Linux,处理器架构为 AArch64。

指定交叉编译器路径

CMAKE_C_COMPILERCMAKE_CXX_COMPILER 分别设置 C 和 C++ 交叉编译器的绝对路径。

示例路径为 /opt/petalinux/2020.2/sysroots/x86_64-petalinux-linux/usr/bin/aarch64-xilinx-linux/aarch64-xilinx-linux-gcc 和对应的 g++ 路径。

配置 sysroot 环境

CMAKE_FIND_ROOT_PATHCMAKE_SYSROOT 均指向目标系统的根文件系统路径 /opt/petalinux/2020.2/sysroots/aarch64-xilinx-linux,确保编译器能正确找到头文件和库。

设置搜索规则

  • CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER:不在 sysroot 中搜索可执行程序。
  • CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY:仅在 sysroot 中搜索库文件。
  • CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY:仅在 sysroot 中搜索头文件。
  • CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY:仅在 sysroot 中搜索 CMake 包。
  • 路径需根据实际 Petalinux 安装目录调整,确保与本地环境一致。
  • 交叉编译器版本需与目标系统兼容。
  • 若需调试,可添加 SET(CMAKE_BUILD_TYPE Debug) 配置调试符号。

配置交叉编译工具链

SET(CMAKE_SYSTEM_NAME Linux)SET(CMAKE_SYSTEM_PROCESSOR aarch64) 用于指定目标系统为 Linux,处理器架构为 AArch64。

指定交叉编译器路径

CMAKE_C_COMPILERCMAKE_CXX_COMPILER 分别设置 C 和 C++ 交叉编译器的绝对路径。

示例路径为 /opt/petalinux/2020.2/sysroots/x86_64-petalinux-linux/usr/bin/aarch64-xilinx-linux/aarch64-xilinx-linux-gcc 和对应的 g++ 路径。

配置 sysroot 环境

CMAKE_FIND_ROOT_PATHCMAKE_SYSROOT 均指向目标系统的根文件系统路径 /opt/petalinux/2020.2/sysroots/aarch64-xilinx-linux,确保编译器能正确找到头文件和库。

设置搜索规则

CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER:不在 sysroot 中搜索可执行程序。 CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY:仅在 sysroot 中搜索库文件。 CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY:仅在 sysroot 中搜索头文件。 CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY:仅在 sysroot 中搜索 CMake 包。

注意事项

代码块示例(遵循格式规范):

cmake 复制代码
# 示例代码块
SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O2")
  • 路径需根据实际 Petalinux 安装目录调整,确保与本地环境一致。
  • 交叉编译器版本需与目标系统兼容。
  • 若需调试,可添加 SET(CMAKE_BUILD_TYPE Debug) 配置调试符号。
相关推荐
HalvmånEver17 小时前
MySQL的内置函数
linux·数据库·学习·mysql
fleaxin17 小时前
大华海光GPU服务器安装PVE和统信系统虚拟机
服务器·nvidia·pve·uos·统信
marsh020617 小时前
39 openclaw持续集成实践:自动化构建与部署流程
运维·ci/cd·ai·自动化·编程·技术
云边有个稻草人17 小时前
KingbaseES高可用最佳应用实践——全架构部署、故障自愈与运维规范
运维·架构·国产数据库·kes
D4c-lovetrain17 小时前
Linux个人心得29(k8s的一些个人理解)
linux·运维·kubernetes
有谁看见我的剑了?18 小时前
ubuntu 22.04 /etc/fstab 文件修改有误导致无法进入系统处理
linux·运维·ubuntu
月昤昽18 小时前
ArchLinux更新遇到的GPG签名验证问题
linux·bash·archlinux
L16247618 小时前
临时拉高 CPU 利用率(防缩容)操作全总结(linux和windows系统)
linux·运维·windows
Gofarlic_OMS18 小时前
UG/NX许可证管理高频技术问题解答汇编
java·大数据·运维·服务器·汇编·人工智能
小松加哲18 小时前
服务器LVM磁盘内部空闲空间无损扩容+挂载原理+MySQL Binlog自动清理完整实操
运维·mysql·服务器扩容