Windows-Umgebung CLion beim Debuggen des Quellcodes des SRS-Streaming-Medienservers

Einführung in die Umgebung:
SRS unterstützt CLion von JetBrains, das basierend auf cmake kompiliert wird, CLion in der Windows-Umgebung verwendet, SRS über SSH remote debuggt und die Debugging-Umgebung auf der virtuellen CentOS 7-Maschine installiert ist.
Ressourcen-Download:
Download-Adresse der offiziellen CLion-Website: https://www.jetbrains.com/zh-cn/clion/ , die von mir heruntergeladene Version ist CLion-2022.2.3.exe, Windows-Version.
SRS-Download-Adresse: https://github.com/ossrs/srs , ich habe srs-4.0release.zip heruntergeladen.

Aufbau der Umgebung
1. Starten Sie die virtuelle Maschine CentOS 7, und die Installation hängt von der Umgebung ab.Wählen Sie nicht die chinesische Installation für das Centos7-System.

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

Die alte Version von cmake ist oben installiert. Wenn Sie eine neue Version installieren möchten, können Sie das obige cmake entfernen und cmake3.21.1 installieren:

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. Dekomprimieren Sie den srs-Quellcode, verwenden Sie das CLion-Menü Datei-Öffnen und öffnen Sie das srs-Quellcodeverzeichnis Der von Windows heruntergeladene Code muss unter Linux mit LF-Zeilenumbrüchen kompiliert werden.
Bildbeschreibung hier einfügen

3. Datei –> Einstellungen –> Tools –> SSH-Konfigurationen, erstellen Sie einen SSH-Link.
Bildbeschreibung hier einfügen
4. Datei –> Einstellungen –> Build, Ausführung, Bereitstellung –> Toolchains, konfigurieren Sie die Toolchain, fügen Sie einen Remote-Host mit dem +-Zeichen hinzu, wählen Sie das oben erstellte SSH aus und die cmake-, C- und C++-Compiler werden es automatisch erkennen. Wenn die Version aktualisiert wird, kann sie nicht automatisch identifiziert werden, Sie können das Verzeichnis auf dem CentOS 7-Host auch remote durchsuchen, klicken Sie auf den Aufwärtspfeil, um nach oben zu wechseln.
Bildbeschreibung hier einfügen

5. Nachdem der vorherige Schritt OK ist, gehen Sie zu Datei –> Einstellungen –> Erstellen, Ausführung, Bereitstellung –> Bereitstellung, um die Remote-Bereitstellung zu konfigurieren.Ein Remote-Host (SFTP-Typ, falls nicht, fügen Sie ihn manuell hinzu) wird hier automatisch generiert.
Bildbeschreibung hier einfügen
Klicken Sie auf die Registerkarte Zuordnungen und wählen Sie rechts die Schaltfläche Ordner durchsuchen, um den lokalen Speicherpfad des srs-Quellcodes und den Remote-Speicherpfad von CentOS 7 auszuwählen. Wenn der Quellcode geöffnet wurde, wird der lokale Pfad automatisch erkannt.
Bildbeschreibung hier einfügen
6. Nachdem die Bereitstellungsoption festgelegt wurde, klicken Sie mit der rechten Maustaste auf das Hauptverzeichnis des Projekts, wählen Sie Bereitstellung, Hochladen nach und laden Sie den Quellcode in das Remote-Bereitstellungsverzeichnis von CentOS 7 hoch. Nach dem Hochladen können Sie den Quellcode auf CentOS sehen 7.
Bildbeschreibung hier einfügen
Bildbeschreibung hier einfügen
7. Extras –> SSH-Sitzung starten, die Remote-Linux-Befehlszeile aufrufen und den SRS-Quellcode kompilieren.

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

Bildbeschreibung hier einfügen
8. Klicken Sie mit der rechten Maustaste auf das Hauptverzeichnis des Projekts, wählen Sie Bereitstellung, Herunterladen von, wählen Sie Remote-Bereitstellung und laden Sie die kompilierte Datei auf das lokale Verzeichnis herunter, ähnlich wie in Schritt 6 oben.
9. Datei –> Einstellungen –> Erstellen, Ausführung, Bereitstellung –> CMake, Sie können Kompilierungsoptionen konfigurieren, Verzeichnisse erstellen usw.
Bildbeschreibung hier einfügen

10. Nachdem der Download abgeschlossen ist, wählen Sie das Verzeichnis trunk/ide/srs_clion aus, klicken Sie mit der rechten Maustaste und wählen Sie CMakeLists.txt aus, laden Sie CMake Project und führen Sie cmake aus.

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

Fehlerlösung: /objs/st/libst.a nicht gefunden, die libst-Bibliothek ist nicht korrekt kompiliert, einfach diese Zeilen in CMakeLists.txt auskommentieren (höhere Version SRS kann normal kompiliert werden)

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

Nach erfolgreicher Ausführung von cmake generiert Run->Edit Configurations automatisch die CMake-Anwendung von srs, konfiguriert die Startparameter, das Arbeitsverzeichnis und die Umgebungsvariablen und kompiliert nach der Konfiguration.
Bildbeschreibung hier einfügen
11. Klicken Sie auf den grünen Hammer in der oberen linken Ecke des obigen Bildes, um zu kompilieren. Nachdem die Kompilierung erfolgreich war, klicken Sie auf den grünen Fehler, um zu debuggen, Sie können einen Haltepunkt setzen, Klion Debugging-Tastenkombinationen: F7, um die Funktion aufzurufen, F8, um Schritt durch den Debug, F9, um zum nächsten Haltepunkt zu springen.
Bildbeschreibung hier einfügen
Kompilierungsfehler meldet nicht deklarierten Bezeichner nullptr, cmake kann C++11-Funktionen nicht korrekt verwenden, Sie können es dem Makefile hinzufügen:

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

Es wird ein Fehler gemeldet, dass #include <srt/srt.h> nicht gefunden werden kann, Sie können diese Zeile auskommentieren.

Ich denke du magst

Origin blog.csdn.net/weixin_40355471/article/details/127833119
Empfohlen
Rangfolge