vscode+linux+opencv环境配置

一、搭建编译环境

在Linux系统下使用C++开发opencv项目,首先要搭建C/C++开发环境。

1、在终端输入以下代码,以安装C/C++编译器(GCC/G++)。

bash 复制代码
sudo apt install gcc
sudo apt install g++

2、安装cmake编译工具

(在openCV2.2版本之后,需要用cmake来生成Makefile文件,在安装OpenCV之前,要安装cmake以及cmake依赖库)

bash 复制代码
sudo apt install cmake

三、安装OpenCV

1、在OpenCV官网下载sources。

官网源代码

2、打开安装包所在位置,在终端输入:

bash 复制代码
unzip opencv-x.x.x.zip

3、解压完成后,在当前目录下会生成opencv-x.x.x文件夹,在终端输入:

(进入该文件夹)

bash 复制代码
cd opencv-x.x.x

4、在此路径下新建一个编译目录build。

bash 复制代码
mkdir build

5、进行cmake-make编译

为了避免出现下面错误

使用pkg-config和opencv时报错

Package opencv was not found in the pkg-config search path.

Perhaps you should add the directory containing `opencv.pc'

to the PKG_CONFIG_PATH environment variable

最好使用命令

bash 复制代码
sudo cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local -D OPENCV_GENERATE_PKGCONFIG=ON ..

OPENCV_GENERATE_PKGCONFIG配置表示直接生成配置信息,不用手动配置环境变量等信息。

或使用下面命令,但需要手动配置环境变量信息。

bash 复制代码
cmake ..
make -j2

make -j4是指4核同时编译,可以根据自己的核数进行调整,比如-j5,核数越多编译速度就越快。

以上操作如果不成功的话尝试以下命令

bash 复制代码
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..
make -j4

6、在终端输入sudo make install进行安装

bash 复制代码
sudo make install

如果不成功也可以尝试安装opencv的依赖

bash 复制代码
sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg-dev libswscale-dev libtiff5-dev

7、验证

bash 复制代码
pkg-config --cflags --libs opencv4

8、为了在vscode中使用,添加软连接

bash 复制代码
ln -s /usr/local/include/opencv4/opencv2 /usr/include/opencv2

9、c++运行常见错误

找不到任务C/C++: g++.exe build active file

解决方法:只要将 launch.json文件中的preLaunchTask参数改为和tasks.json中label值一样,这个问题就能解决。

.o not exists:linux将launch.json的"program": " f i l e D i r n a m e / {fileDirname}/ fileDirname/{fileBasenameNoExtension}.o"改成"program": " f i l e D i r n a m e / {fileDirname}/ fileDirname/{fileBasenameNoExtension}"

相关推荐
阿巴~阿巴~1 小时前
Git版本控制完全指南:从入门到实战(简单版)
linux·服务器·git
Cx330❀1 小时前
Linux命名管道(FIFO)通信:从原理到实操,一文搞懂跨进程通信
大数据·linux·运维·服务器·elasticsearch·搜索引擎
嵌入式×边缘AI:打怪升级日志1 小时前
嵌入式Linux应用开发快速入门(从零到第一个程序)
linux·运维·notepad++
AI、少年郎1 小时前
MiniMind第 2 篇:破除大模型 “神秘感“, 环境搭建|Win/Linux 本地快速部署
linux·运维·服务器·ai·大模型训练·大模型微调·大模型原理
彭泽布衣2 小时前
Linux异常文件名文件如何删除
linux·运维·服务器
优泽云安全2 小时前
如何选择IRCS云信息安全管理系统 IRCS云资源评测
linux·服务器·安全·安全架构
ShineWinsu2 小时前
对于Linux:Ext系列文件系统的解析—下
linux·面试·笔试·文件系统··ext2·挂载分区
小夏子_riotous2 小时前
Docker学习路径——2、安装
linux·运维·分布式·学习·docker·容器·云计算
添砖java‘’2 小时前
NAT代理、内网打洞和内网穿透
linux·服务器·网络
SilentSamsara2 小时前
Linux 文件系统入门:目录结构不是随便画的
linux·运维·服务器