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.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
其实之前安装完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模式后即可调试代码
Dll库下载
下载onnx
https://github.com/microsoft/onnxruntime/releases/tag/v1.14.1