petalinux 安装Armadillo
https://gitlab.com/conradsnicta/armadillo-code/-/tree/9.900.x?utm_source=chatgpt.com
可以将上述内容合并为一条命令,通过反斜杠 \
和换行符保持可读性。以下是优化后的格式:
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
注意事项
注意事项
代码块示例(遵循格式规范):
# 示例代码块
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_COMPILER
和CMAKE_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_PATH
和CMAKE_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_COMPILER
和 CMAKE_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_PATH
和 CMAKE_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 包。
注意事项
代码块示例(遵循格式规范):
# 示例代码块
SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O2")
- 路径需根据实际 Petalinux 安装目录调整,确保与本地环境一致。
- 交叉编译器版本需与目标系统兼容。
- 若需调试,可添加
SET(CMAKE_BUILD_TYPE Debug)
配置调试符号。