@aod321
2019-01-07T06:31:59.000000Z
字数 1595
阅读 298
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-gnueabihfsudo apt-get install g++-arm-linux-gnueabihf
本项目采用预编译的方式,利用install-boost.sh脚本根据不同架构安装交叉编译好的boost库.
cd boost_lib/./install-boost.sh x86 #安装x86架构的boost库./install-boost.sh arm #安装交叉编译的arm架构
关于如何交叉编译boost库的详细指南请看Boost交叉编译移植ARM技术文档
#本地编译SDKcd ~/ML16SDK-AutoBuild/cd ML16SDK/./compile.sh local#编译完成后自动安装ML16库到/usr/local目录下#本地编译DEMOcd ~/ML16SDK-AutoBuild/cd DEMO/asyncrecv_printframe/./compile.sh local#编译完成后可在asyncrecv_printframe/localbin/目录下找到可执行文件
#本地编译SDKcd ~/ML16SDK-AutoBuild/cd ML16SDK/./compile.sh arm#编译完成后自动安装ML16库到/opt/ML16目录下#本地编译DEMOcd ~/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