Ubantu下配置opencv和cmake编译环境_从0配置深度学习环境3
饼干快快快跑
2025年11月25日 14:03
收录于文集
共5篇

1. Ubantu系统配置

1.1 快速配置ubantu

更新软件库

sudo apt-get update

软件更新

sudo apt-get upgrade

 

1.2 开启mstsc远程

// sudo adduser yu                        //新建远程用户,输入密码和确认密码,推荐用默认管理员登录

sudo apt install xrdp               //安装xrdp

sudo systemctl status xrdp      //查看xrdp服务状态

sudo adduser xrdp ssl-cert      //将用户 xrdp 添加到 ssl-cert 组中

sudo systemctl restart xrdp     //重启xrdp服务

ifconfig                                         // 查询ip

在window端用mstsc远程连接,双屏操作更丝滑

 

1.3 Linux配置cmake 和 gcc编译环境

https://blog.csdn.net/qq_29111047/article/details/148019594

测试cmake是否可用

Sudo apt-get install gcc-multilib

 

2. 配置opencv和vscode环境

2.1 下载opencv

https://github.com/opencv/opencv/releases/tag/4.2.0

2.2 编译OpenCV

海思的教程

https://gitee.com/wgm2022/wu_guiming.gitee.io/blob/master/01%20%E7%8E%AF%E5%A2%83%E6%90%AD%E5%BB%BA%E7%9B%B8%E5%85%B3/%E5%A6%82%E4%BD%95%E5%9C%A8Ubuntu20.02%20%E4%B8%8A%E9%9D%A2%E6%90%AD%E5%BB%BAcaffe%E7%8E%AF%E5%A2%83.md

这个更简单

https://blog.csdn.net/xiangfengl/article/details/122945924

 

按上述教程装完依赖库后,执行:

sudo cmake -D CMAKE_BUILD_TYPE=Release -D BUILD_SHARED_LIBS=ON -D BUILD_opencv_world=ON ..

sudo cmake -D CMAKE_BUILD_TYPE=Debug -D BUILD_SHARED_LIBS=ON -D BUILD_opencv_world=ON ..

 

sudo make -j4

3. vscoode的安装和配置

其实之前安装完cmake和make、gbd就可以完成基本的操作了,但是vscode的好处是可以将调试过程更加直观地展示出来,方便随时更改代码。

3.1 下载vscode

https://code.visualstudio.com/docs/?dv=linux64_deb

3.2 安装

sudo dpkg -i code_1.100.3-1748872405_amd64.deb

3.3配置编译链

参考这个 https://blog.csdn.net/m0_37605642/article/details/124652935

构建系统 是用来自动化管理项目构建流程的工具。它控制如何编译、链接、打包整个项目。工具链 是一组用于开发、编译、链接和调试程序的工具集合。它通常包括:编译器、链接器、汇编器、调试器等。 编译器 是将源代码(如 C/C++)翻译成目标机器码或中间码的程序。

平台

工具链

编译器

构建系统

Android

Clang/LLVM +

Android NDK

clang

CMake + NDK

Windows

MSVC(Visual Studio)或 MinGW

cl.exe (MSVC)或

gcc

MSBuild(MSVC)或

NMake(MinGW)

Linux

GCC

gcc/g++

Make/CMake

表1 在不同平台上进行软件开发时,常用的工具链、编译器和构建系统

 

编译流程可以表述为:源代码首先由 构建系统 根据配置 决定如何编译,构建系统会调用相应的工具链,工具链中包含的编译器负责将源代码翻译成目标文件或可执行文件。Cmaklist就是告诉 构建系统 cmake 如何make编译,而配置vscode的过程是将cmake、make、gbd的过程自动化了,配置完只需要点击调试即可逐步调试。

3.3.1 tasks.json

参考:https://blog.csdn.net/qq_54992178/article/details/146073452

首先是自动化任务的关键设置,使用vscode编译,需要指定tasks.json的配置文件:

首先要指定工作目录是build目录

"options": {

       "cwd": "${workspaceFolder}/build" ,         }, 

接着就是编译命令了,和之前的测试一样都是cmake+make的组合,先看一下tasks.json默认的任务:command": "/bin/g++", gcc调试,这是直接编译单个文件,后续需要换成cmake+make的组合,这种可以编译一整个项目。

修改成

{"label": "make",

"group": {

   "kind": "build",

   "isDefault": true

},

"command": "make",

"args": []     },

这个任务会运行 make 命令,去读取当前目录下的 Makefile,Makefile 中定义了如何编译项目,比如使用什么编译器(gcc / g++)、编译哪些文件、链接哪些库等,通常配合 CMake 使用,CMake 会生成 Makefile,然后由 make 执行编译。

对应的cmake任务是

{    "label": "cmake",

"type": "shell",

"command": "cmake",

"args": [       "-G",

               "Unix Makefiles",                             

".."                      ],

"problemMatcher": []      },

 

这里涉及到cmake的生成器指定Unix Makefiles,一般这也是默认的。

生成器名称

平台

使用的构建工具

说明

Unix Makefiles

Linux / macOS / Unix-like

make

标准的类 Unix 构建方式,广泛使用

Ninja

Linux / macOS / Windows

ninja

更快的构建系统,适合大型项目

NMake Makefiles

Windows

nmake(微软提供)

Windows 原生的 make 工具,不常用

 

其他的如launch.json配置调试器为cppdbg和gdb,指定好调试对象

c_cpp_properties.json告诉vscode依赖文件的地址,方便跳转。

 

3.3.2 结果

配置完成后,cmakelist指定debug模式后即可调试代码

 

4. Onnx配置

Dll库下载

下载onnx

https://github.com/microsoft/onnxruntime/releases/tag/v1.14.1