windows环境CLion调试SRS流媒体服务器源码

环境介绍:
SRS支持JetBrains的CLion,它是基于cmake编译的,在windows环境使用CLion,通过SSH远程调试SRS,调试环境安装在CentOS 7虚拟机上。
资源下载:
CLion官网下载地址:https://www.jetbrains.com/zh-cn/clion/,我下载的版本是CLion-2022.2.3.exe,windows版。
SRS下载地址:https://github.com/ossrs/srs,我下载的是srs-4.0release.zip。

环境搭建
1、启动CentOS 7虚拟机,安装依赖环境,centos7系统不要选择中文安装。

yum install perl-core cmake gcc gcc-c++ gdb -y

上面安装的是老版本cmake,想安装新版本可以把上面cmake去掉,安装cmake3.21.1:

wget -c https://github.com/Kitware/CMake/releases/download/v3.21.1/cmake-3.21.1.tar.gz
yum install openssl openssl-devel
tar -zxvf cmake-3.21.1.tar.gz
cd cmake-3.21.1
./bootstrap
make 
make install
ln -s /usr/local/bin/cmake /bin/cmake
cmake --version

2、srs源码解压缩,CLion菜单File-Open,打开srs源码目录,windows下载的代码在linux下编译需要 LF换行方式。
在这里插入图片描述

3、File–>Settings–>Tools–>SSH Configurations,创建SSH链接。
在这里插入图片描述
4、File–>Settings–>Build,Execution,Deployment–>Toolchains,配置工具链,+号添加一个Remote Host,选择上面创建的SSH后cmake、C、C++编译器自动识别,如果版本做了升级不能自动识别,也可以远程浏览CentOS 7主机上的目录,点击向上箭头调整到最上面。
在这里插入图片描述

5、上一步OK后,File–>Settings–>Build,Execution,Deployment–>Deployment,配置远程部署,这里自动生成一个Remote Host(SFTP类型,没有则手动添加)。
在这里插入图片描述
点击Mappings选项卡,右边浏览文件夹按钮选择srs源码本地存放路径和CentOS 7远端存放路径,如果已经打开源码则本地路径自动识别。
在这里插入图片描述
6、Deployment选项设置完成后,右键项目主目录,选择Deployment,Upload to,把源码上传到CentOS 7远端部署目录,上传完成后就可以在CentOS 7上看到源码了。
在这里插入图片描述
在这里插入图片描述
7、Tools–>Start ssh session,调出远程linux命令行,编译SRS源码。

cd /home/chuwei/work/srs/trunk/
sudo yum install libasan#cannot find /usr/lib64/libasan.so.0.0.0报错执行
sudo chmod 777 -R *#部分脚本需要权限才能执行
sudo ./configure
sudo make

在这里插入图片描述
8、右键项目主目录,选择Deployment,Download from,选择Remote Deployment,下载编译好的文件到本地,和上面第6步类似。
9、File–>Settings–>Build,Execution,Deployment–>CMake,可配置编译选项,构建目录等。
在这里插入图片描述

10、下载完成后,选择目录trunk/ide/srs_clion,右键选择CMakeLists.txt,load CMake Project,执行cmake。

sudo chmod 777 -R *#因为远端生成了新的文件,执行cmake前再修改一次权限

报错解决:/objs/st/libst.a not found,libst库没有正确编译,把CMakeLists.txt里面这几行注释掉即可(高版本SRS可正常编译)

#${SRS_DIR}/objs/srt/lib/libsrt.a
#${SRS_DIR}/src/srt
#AUX_SOURCE_DIRECTORY(${SRS_DIR}/src/srt SOURCE_FILES)

执行cmake成功后,Run–>Edit Configuratios 自动生成了srs的CMake Application,配置启动参数、工作目录、环境变量,配置好以后就可以编译了。
在这里插入图片描述
11、点击上图左上角绿色的锤子进行编译,编译成功后点击绿色的虫子调试,可以打个断点,clion调试快捷键:F7进入函数,F8单步调试,F9跳转到下一个断点。
在这里插入图片描述
编译报错未声明的标识符nullptr,cmake不能正确使用C++11特性,可在makefile文件加入:

SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -std=c++11")

报错找不到#include <srt/srt.h>,可以把该行注释掉。

猜你喜欢

转载自blog.csdn.net/weixin_40355471/article/details/127833119