Entorno de Windows CLion depuración del código fuente del servidor de medios de transmisión SRS

Introducción al entorno:
SRS es compatible con CLion de JetBrains, que se compila en base a cmake, utiliza CLion en el entorno de Windows, depura de forma remota SRS a través de SSH y el entorno de depuración se instala en la máquina virtual CentOS 7.
Descarga de recursos:
Dirección de descarga del sitio web oficial de CLion: https://www.jetbrains.com/zh-cn/clion/ , la versión que descargué es CLion-2022.2.3.exe, versión de Windows.
Dirección de descarga de SRS: https://github.com/ossrs/srs , descargué srs-4.0release.zip.

Construcción del entorno
1. Inicie la máquina virtual CentOS 7 y la instalación depende del entorno. No elija la instalación en chino para el sistema centos7.

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

La versión anterior de cmake está instalada arriba. Si desea instalar una nueva versión, puede eliminar el cmake anterior e instalar 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. Descomprima el código fuente de srs, utilice el menú Archivo-Abrir de CLion y abra el directorio del código fuente de srs. El código descargado por Windows debe compilarse en Linux con saltos de línea LF.
inserte la descripción de la imagen aquí

3. Archivo–>Configuración–>Herramientas–>Configuraciones SSH, cree un enlace SSH.
inserte la descripción de la imagen aquí
4. Archivo–>Configuración–>Creación, Ejecución, Implementación–>Cadenas de herramientas, configure la cadena de herramientas, agregue un host remoto con el signo +, seleccione el SSH creado anteriormente y los compiladores cmake, C y C++ lo reconocerán automáticamente. Si la versión está actualizada, no puede Identificación automática, también puede navegar de forma remota el directorio en el host CentOS 7, haga clic en la flecha hacia arriba para ajustar a la parte superior.
inserte la descripción de la imagen aquí

5. Después de que el paso anterior sea correcto, vaya a Archivo–>Configuración–>Crear, Ejecución, Implementación–>Implementación para configurar la implementación remota.Un host remoto (tipo SFTP, si no, agréguelo manualmente) se genera aquí automáticamente.
inserte la descripción de la imagen aquí
Haga clic en la pestaña Asignaciones y seleccione el botón Examinar carpeta a la derecha para seleccionar la ruta de almacenamiento local del código fuente de srs y la ruta de almacenamiento remoto de CentOS 7. Si se abrió el código fuente, la ruta local se reconocerá automáticamente.
inserte la descripción de la imagen aquí
6. Después de configurar la opción Implementación, haga clic con el botón derecho en el directorio principal del proyecto, seleccione Implementación, Cargar en y cargue el código fuente en el directorio de implementación remota de CentOS 7. Después de cargar, puede ver el código fuente en CentOS 7.
inserte la descripción de la imagen aquí
inserte la descripción de la imagen aquí
7. Herramientas–>Iniciar sesión ssh, llamar a la línea de comando remota de Linux y compilar el código fuente de 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

inserte la descripción de la imagen aquí
8. Haga clic con el botón derecho en el directorio principal del proyecto, seleccione Implementación, Descargar desde, seleccione Implementación remota y descargue el archivo compilado al local, similar al paso 6 anterior.
9. Archivo–>Configuración–>Compilación, Ejecución, Implementación–>CMake, puede configurar opciones de compilación, directorios de compilación, etc.
inserte la descripción de la imagen aquí

10. Una vez completada la descarga, seleccione el directorio trunk/ide/srs_clion, haga clic con el botón derecho y seleccione CMakeLists.txt, cargue el proyecto CMake y ejecute cmake.

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

Solución de error: /objs/st/libst.a no encontrado, la biblioteca libst no está compilada correctamente, solo comente estas líneas en CMakeLists.txt (la versión superior SRS se puede compilar normalmente)

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

Después de ejecutar cmake con éxito, Run–>Edit Configuratios genera automáticamente la aplicación CMake de srs, configura los parámetros de inicio, el directorio de trabajo y las variables de entorno, y compila después de la configuración.
inserte la descripción de la imagen aquí
11. Haga clic en el martillo verde en la esquina superior izquierda de la imagen de arriba para compilar.Después de que la compilación sea exitosa, haga clic en el error verde para depurar, puede hacer un punto de interrupción, teclas de acceso directo de depuración clion: F7 para ingresar a la función, F8 para paso a través de la depuración, F9 para saltar al siguiente punto de interrupción.
inserte la descripción de la imagen aquí
El error de compilación informa un identificador no declarado nullptr, cmake no puede usar las funciones de C++ 11 correctamente, puede agregarlo al archivo MAKE:

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

Se informa un error de que #include <srt/srt.h> no se puede encontrar, puede comentar esta línea.

Supongo que te gusta

Origin blog.csdn.net/weixin_40355471/article/details/127833119
Recomendado
Clasificación