vscode配合CMake和opencv交叉编译

文章目录

    • 环境
    • 流程
    • 工程目录结构
    • 安装vscode
    • 配置vscode环境
    • 配置CMake
    • 编写CMake
    • 生成CMake配置
    • 修改CMakeCache.txt
      • 修改opencv的路径
      • 修改编译器路径
    • 编译

环境

宿主机:Ubuntu 18.04 x86_64
目标机:Ubuntu 16.04 aarch64
cmake: version 3.10.2
opencv: opencv 4.2.0
vscode: 版本: 1.41.1

流程

Created with Raphaël 2.2.0 下载并安装vscode 创建一个工程目录 创建工程目录结构 编写程序 编写CMakeLists.txt文件 生成CMake配置 检查CMakeCache.txt配置是否有错误 修改CMakeCache.txt文件 编译 yes no

工程目录结构

工程目录的创建可根据自己的习惯
下面给出示例的工程目录结构

.
├── 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环境

vscode配合CMake和opencv交叉编译_第1张图片
需要安装以上插件:
必装:C/C++、C++ Intellisense、CMake Tools、CMake

配置CMake

vscode配合CMake和opencv交叉编译_第2张图片
1.打开工程文件夹
打开工程文件夹后会先选择编译器
这里我选择交叉编译器:aarch64-linux-gnu-gcc
2.查看编译器路径是否正确
打开命令:Ctrl+Shift +p
输入:>Cmake:Edit User-Local CMake Kits
vscode配合CMake和opencv交叉编译_第3张图片
vscode配合CMake和opencv交叉编译_第4张图片
1.如果次文件中没有所需编译器,请在文末同上格式添加
2.确保“C” “CXX”这2行都有
3.确保路径正确,并且编译器的可执行文件名正确
4.配置完成后保存关闭,这个是全局配置,仅需配置一次。

编写CMake

CMake的编写请参考CMake快速上手教程

生成CMake配置

打开命令:Ctrl+Shift +p
输入:>Cmake:Configure
vscode配合CMake和opencv交叉编译_第5张图片
相当于执行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编译器路径:
vscode配合CMake和opencv交叉编译_第6张图片
然后重新执行Configure

打开命令:Ctrl+Shift +p
输入:>Cmake:Configure

这样CMake配置就完成了

编译

vscode配合CMake和opencv交叉编译_第7张图片
点击窗口底下的Build按钮就可以进行编译了
还可以按快捷键F7进行编译。
生成的可执行文件是放在build目录或其子目录下的。

你可能感兴趣的:(CMake,opencv,vscode)