vscode配合CMake和opencv交叉编译

4 篇文章 0 订阅
3 篇文章 0 订阅

环境

宿主机: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环境

在这里插入图片描述
需要安装以上插件:
必装: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目录或其子目录下的。

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值