环境
宿主机:Ubuntu 18.04 x86_64
目标机:Ubuntu 16.04 aarch64
cmake: version 3.10.2
opencv: opencv 4.2.0
vscode: 版本: 1.41.1
流程
工程目录结构
工程目录的创建可根据自己的习惯
下面给出示例的工程目录结构
.
├── build # 存放所有编译中产生的文件
├── CMakeLists.txt # 顶层目录的CMake配置文件
├── readme.md # 项目描述文件
└── src # 源代码目录
├── camera # 功能模块代码目录
│ ├── camera.cpp # 功能模块源文件
│ ├── camera.hpp # 功能模块头文件
│ └── CMakeLists.txt # 功能模块CMake配置文件
├── CMakeLists.txt # 主函数的CMake配置文件
└── main.cpp # 主函数源代码文件
根据示例的工程结构可以看到所有的目录下面都需要有一个CMakeLists.txt文件. 这也是CMake工程的特点.
安装vscode
1.下载地址:https://code.visualstudio.com/Download
2.选择相关平台进行下载
3.Ubuntu选择deb格式的安装包
4.安装
方式一:
sudo dpkg -i <packegname.deb>
方式二:
直接双击软件包点击"install"按钮
配置vscode环境
需要安装以上插件:
必装:C/C++、C++ Intellisense、CMake Tools、CMake
配置CMake
1.打开工程文件夹
打开工程文件夹后会先选择编译器
这里我选择交叉编译器:aarch64-linux-gnu-gcc
2.查看编译器路径是否正确
打开命令:Ctrl+Shift +p
输入:>Cmake:Edit User-Local CMake Kits
1.如果次文件中没有所需编译器,请在文末同上格式添加
2.确保“C” “CXX”这2行都有
3.确保路径正确,并且编译器的可执行文件名正确
4.配置完成后保存关闭,这个是全局配置,仅需配置一次。
编写CMake
CMake的编写请参考CMake快速上手教程
生成CMake配置
打开命令:Ctrl+Shift +p
输入:>Cmake:Configure
相当于执行cmake ..
此时会在build目录下生成一系列的CMake配置文件和Makefile文件
修改CMakeCache.txt
修改opencv的路径
因为这个工程涉及到opencv模块的引用,
所以需要去这个配置文件中查看opencv的指向是否正确。
找到
OpenCV_DIR:PATH=/usr/local/lib/cmake/opencv4
这项,查看后面的路径是不是指向了交叉编译的opencv路径,如果不是请填上相应的绝对路径。
我将其修改为如下:
OpenCV_DIR:PATH=/nanopi_neo2/opencv/build/install/lib/cmake/opencv4
修改编译器路径
这里需要修改CXX编译器路径和C编译器路径:
然后重新执行Configure
打开命令:Ctrl+Shift +p
输入:>Cmake:Configure
这样CMake配置就完成了
编译
点击窗口底下的Build按钮就可以进行编译了
还可以按快捷键F7进行编译。
生成的可执行文件是放在build目录或其子目录下的。