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.
3. Archivo–>Configuración–>Herramientas–>Configuraciones SSH, cree un enlace SSH.
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.
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.
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.
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.
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
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.
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.
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.
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.