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) 配置调试符号。
相关推荐
Trouvaille ~15 分钟前
【Linux】TCP Socket编程实战(一):API详解与单连接Echo Server
linux·运维·服务器·网络·c++·tcp/ip·socket
芷栀夏22 分钟前
深度解析 CANN 异构计算架构:基于 ACL API 的算子调用实战
运维·人工智能·开源·cann
全栈工程师修炼指南32 分钟前
Nginx | stream 四层反向代理:SSL、PREREAD 阶段模块指令浅析与实践
运维·网络·网络协议·nginx·ssl
旖旎夜光1 小时前
Linux(13)(中)
linux·网络
威迪斯特2 小时前
CentOS图形化操作界面:理论解析与实践指南
linux·运维·centos·组件·图形化·桌面·xserver
一方热衷.2 小时前
在线安装对应版本NVIDIA驱动
linux·运维·服务器
独自归家的兔2 小时前
ubuntu系统安装dbswitch教程 - 备份本地数据到远程服务器
linux·运维·ubuntu
m0_694845572 小时前
tinylisp 是什么?超轻量 Lisp 解释器编译与运行教程
服务器·开发语言·云计算·github·lisp
ONE_SIX_MIX2 小时前
ubuntu 24.04 用rdp连接,桌面黑屏问题,解决
linux·运维·ubuntu
龙飞052 小时前
Systemd -systemctl - journalctl 速查表:服务管理 + 日志排障
linux·运维·前端·chrome·systemctl·journalctl