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) 配置调试符号。
相关推荐
xiaoye-duck31 分钟前
《Linux系统编程》Linux 进程间通信之管道基础解析:从匿名管道原理到基于管道的进程池实现
linux
z2005093034 分钟前
【Linux学习】Linux中的进程程序替换
linux·服务器·学习
bush41 小时前
嵌入式linux学习记录四
linux·运维·学习
lihao lihao2 小时前
软硬链接
linux·运维·服务器
TOWE technology2 小时前
智能安防监控系统如何做好防雷?——视频信号SPD综合应用方案解析
运维·服务器·防雷产品·信号保护·信号防雷·spd
楼田莉子2 小时前
Docker学习:Docker介绍及其架构介绍
运维·后端·学习·docker·容器·架构
雪度娃娃2 小时前
存储器层次结构——磁盘硬盘存储
服务器·网络·数据库·计算机组成原理
YY&DS2 小时前
Qt 嵌入 CEF 在 Linux 下必须设置 `QT_XCB_GL_INTEGRATION=xcb_egl才能加载网页
linux·开发语言·qt
辰风沐阳2 小时前
ThinkPHP8.1 + think-swoole 4.1 使用指南(保姆级教程)
linux·后端·swoole