流媒体ZLM配置vscode远程开发
本博客主要介绍流媒体ZLmediakit通过使用vscode配置工程
(1)首先简单介绍Windows上的(visual studio 20XX)编译和调试:
从GIThub下载ZLmediakit源代码,将子模块都同步好;在Windows上安装好cmake 3.24+;安装号visual studio 2015/17/19/22都可以
然后Cmake打开ZLM目录,指定编译的工程目录,选择好编译的配置信息;生成,打开工程,即可使用;有些宏对应的库可能没编译成功,可以打开工程后,通过IDE配置


附加依赖库,库目录,头文件目录等,需要用到的时候在配置就可以了

平时出现比较多的是openssl的bio不存在,注意看报错在哪个子模块,给对应的子模块(子工程)的属性配置好openssl的路径;
如果你暂时用户到openssl也可以把宏开关关了(属性--c/c++---预处理器---预处理定义)


(2)VScode远程开发部署
一般情况下ZLM是部署在Linux_x86或者arm平台使用居多;所以我们经常会需要开发Linux C++;但是Linux上没有什么顺手的IDE,所以一般情况下大家喜欢使用VScode;
下边就简单介绍下VScode的远程开发;
首先下载vscode,安装插件;下边这篇文章基本全覆盖了;我们还是照着走一遍,搬运下大佬记录的流程
https://blog.csdn.net/hutaotaotao/article/details/140899244?spm=1001.2014.3001.5506 (博主:hutaotaotao)

(2.1)本机安装openssl
我的机器之前安装过了
管理员身份打开powershell, 输入:Get-WindowsCapability -Online | ? Name -like 'OpenSSH*'

如果你输入上边这条命令发下没有图上的打印;就安装下:
Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0
(2.2)win 的本机电脑 生成RSA公钥和私钥


将rsa公钥(**.pub)添加到远程linux的authorized_keys文件中;
作用:以后用vscode远程连接服务器的时候不用每次都输入用户密码。当然也可以不操作这一步,只不过每次登录需要输入一下密码。
在远程linux中,进入到用户目录下的.ssh文件夹中 (搬运hutaotaotao)
这边博主使的WIN-scp,拷贝到Linux服务器的对应文件夹下;其他的ssh-shell,也可以;

然后将本机生成的rsa_id.pub公钥上传至服务器【~/.ssh】处。
再然后输入以下命令将其追加写入到~/.ssh目录下的authorized_keys文件中,为什么是追加写入?因为可能存在其他用户的公钥,千万别覆盖写入!
cat id_rsa.pub >> authorized_keys
如果不存在authorized_keys,【cat id_rsa.pub >> authorized_keys】也会自动生成出来。

(2.3)vscode安装Remote - SSH插件


然后ssh连接远程设备

输入的连接命令(就是ssh、xshell登录这个机器时候的端口,IP): ssh 用户名@ip地址 -p 端口号

打开文件夹: /usr/data/aaa/zlm

然后你就打开了代码

想调试的话还需要tasks.json 和launch.json
{
///该文件是launch.json // Use IntelliSense to learn about possible attributes. // Hover to view descriptions of existing attributes. // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0", "configurations": [ { "name": "(gdb) Launch", "type": "cppdbg", "request": "launch", // "program": "${workspaceFolder}/release/linux/Debug/api_tester_h264_media_server", // "args": ["/works/zlmediakit/ZLMediaKit/release/linux/Debug/test.h264"], "program": "${workspaceFolder}/release/linux/Release/MediaServer", //可执行程序的目录 "args": [], "stopAtEntry": false, "cwd": "${fileDirname}", "environment": [], "externalConsole": false, "MIMode": "gdb", "setupCommands": [ { "description": "Enable pretty-printing for gdb", "text": "-enable-pretty-printing", "ignoreFailures": true }, { "description": "Set Disassembly Flavor to Intel", "text": "-gdb-set disassembly-flavor intel", "ignoreFailures": true } ], "preLaunchTask": "tasks.json中的lable", } ] }
启动调试:

如果自己不会写tasks.json就安装下cmake tool自动生成






debug的时候就可以调试了:注意这个调试的时候不依赖launch.json。所以直接点开debug是会弹出“要自定义运行和调试。。。。”

然后直接在cmaketool下debug就可以了:


浙公网安备 33010602011771号