交叉编译DBoW2至ARM架构
1.下载交叉编译链
PC机为x86架构,目标平台为ARM架构,首先需要安装x86至ARM平台的交叉编译链。需要注意的是,编译链上C库的版本需要和目标平台上的C库版本兼容。我起初参考其他博客直接apt-get工具链,之后交叉编译会报libc的问题,所以最好查看目标平台的C库版本后去linaro官网下载对应版本的交叉编译链并解压。我这里下载的版本为gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu。
2.安装CMake
Opencv以及许多库需要通过CMake创建MakeFile,直接sudo apt-get install cmake。
3.下载DBoW2源码
在home目录创建文件夹compile_DBoW2_2,一个子文件夹arm_dbow2,arm_dbow2内再创建build和install两个子文件夹。DBoW2源码下载并解压至compile_DBoW2_2文件夹内。
4.修改DBoW2的CMakeLists.txt
打开DBoW2目录下的CMakeLists.txt。
1.检索-march=native并删除。
2.将LIBRARY_OUTPUT_PATH改为set(LIBRARY_OUTPUT_PATH /home/andrew/compile_DBoW2_2/arm_dbow2/install/lib)
3.注释掉此段代码`
#find_package(OpenCV 3.0 QUIE