标签(空格分隔): ML16 激光雷达 SDK 交叉编译 ARM移植
文件目录结构如下:
ML16SDK-AutoBuild
│ README.md #说明文档
│
└───ML16SDK #SDK工程目录
│ │ CMakeLists.txt
│ │ compile.sh #编译脚本
│ │
│ └───src
│ │ ├── CMakeLists.txt
│ │ ├── ML16Lidar.cpp
│ │ └── ML16lidar.h
│ └───toolchains #工具链切换
│ ├── arm-linux-toolChain.cmake
│ └── local-toolChain.cmake
└───boost_lib
│ │ instal-boost.sh #预编译boost库安装脚本
│ │
│ └───armhf #采用arm-linux-gnueabihf-g++编译的boost
│ │ └───boost
│ │ └───...
│ └───x86 #采用linux-x86-64-gcc编译的boost(一般PC)
│ │ └───include
│ │ └───...
│ │ └───lib
│ │ └───...
│ |
└───DEMO #SDK示例程序目录
│ │
│ └───asyncrecv_printframe #异步接收方式使用示例
│ │ CMakeLists.txt
│ │ compile.sh #编译脚本
│ │ └───src #源码目录
│ │ | ...
│ │ └───CMakeLists.txt
│ │ └───toolchains #工具链切换
│ │ └───...
sudo apt-get install gcc-arm-linux-gnueabihf
sudo apt-get install g++-arm-linux-gnueabihf
本项目采用预编译的方式,利用install-boost.sh脚本根据不同架构安装交叉编译好的boost库.
cd boost_lib/
./install-boost.sh local #安装x86架构的boost库
./install-boost.sh arm #安装交叉编译的arm架构
关于如何交叉编译boost库的详细指南请看Boost交叉编译移植ARM技术文档
#本地编译SDK
cd ~/ML16SDK-AutoBuild/
cd ML16SDK/
./compile.sh local
#编译完成后自动安装ML16库到/usr/local目录下
#本地编译DEMO
cd ~/ML16SDK-AutoBuild/
cd DEMO/asyncrecv_printframe/
./compile.sh local
#编译完成后可在asyncrecv_printframe/localbin/目录下找到可执行文件
#本地编译SDK
cd ~/ML16SDK-AutoBuild/
cd ML16SDK/
./compile.sh arm
#编译完成后自动安装ML16库到/opt/ML16目录下
#本地编译DEMO
cd ~/ML16SDK-AutoBuild/
cd DEMO/asyncrecv_printframe/
./compile.sh arm
#编译完成后可在asyncrecv_printframe/arm-bin/目录下找到可执行文件
local(PC) target(ARM)
/opt/boost --> /opt/boost
/opt/ML16 --> /opt/ML16
local(PC) target(ARM)
/arm-bin/testprint --> path/testprint
./testprint