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}"

相关推荐
hweiyu0034 分钟前
Linux命令:arptables
linux·运维
仙柒4152 小时前
管理网络安全
linux·运维·服务器
福尔摩斯·柯南2 小时前
Ubuntu 14.04/16.04/18.04/20.04/22.04/24.04/26.04全系列LTS长期支持版镜像IOS分享
linux·运维·ubuntu
小墨宝2 小时前
vscode自带内网穿透
ide·vscode·编辑器
xiaoming00183 小时前
JAVA项目打包部署运维全流程(多服务、批量)
java·linux·运维
浪客灿心3 小时前
Linux五种IO模型与非阻塞IO
linux·网络
洋哥网络科技3 小时前
centos7 升级openssh-10.2
linux·运维·服务器·系统安全
我先去打把游戏先3 小时前
【保姆级图文教程】:VMware虚拟机安装Ubuntu Server 22.04
linux·数据库·ubuntu
派葛穆4 小时前
Ubuntu-软件安装和执行
linux·运维·ubuntu
AlickLbc4 小时前
WSL2安装Ubuntu与Claude Code记录
linux·运维·ubuntu