Windows 環境 CLion デバッグ SRS ストリーミング メディア サーバー ソース コード

環境紹介:
SRSは、cmakeをベースにコンパイルされたJetBrainsのCLionをサポートし、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 メニューの [ファイル] - [開く] を使用して、srs ソース コード ディレクトリを開きます. Windows によってダウンロードされたコードは、Linux で LF 改行を使用してコンパイルする必要があります.
ここに画像の説明を挿入

3. File–>Settings–>Tools–>SSH Configurations で、SSH リンクを作成します。
ここに画像の説明を挿入
4. File–>Settings–>Build, Execution, Deployment–>Toolchains でツールチェーンを構成し、+ 記号でリモート ホストを追加し、上記で作成した SSH を選択すると、cmake、C、および C++ コンパイラが自動的に認識します。バージョンがアップグレードされた場合、自動識別はできません。CentOS 7 ホストのディレクトリをリモートで参照することもできます。上向き矢印をクリックして上部に調整します。
ここに画像の説明を挿入

5. 前のステップが OK になったら、File–>Settings–>Build, Execution, Deployment–>Deployment に移動して、リモート デプロイメントを構成します. リモート ホスト (SFTP タイプ、そうでない場合は、手動で追加) がここで自動的に生成されます.
ここに画像の説明を挿入
[マッピング] タブをクリックし、右側の [フォルダーの参照] ボタンを選択して、srs ソース コードのローカル ストレージ パスと CentOS 7 のリモート ストレージ パスを選択します。ソース コードが開かれている場合、ローカル パスは自動的に認識されます。
ここに画像の説明を挿入
6. 配置オプションを設定したら、プロジェクトのメイン ディレクトリを右クリックし、[配置]、[アップロード先] の順に選択して、ソース コードを CentOS 7 のリモート配置ディレクトリにアップロードします。アップロード後、CentOS でソース コードを確認できます。 7。
ここに画像の説明を挿入
ここに画像の説明を挿入
7. Tools–> ssh セッションを開始し、リモート 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. プロジェクトのメイン ディレクトリを右クリックし、[配置]、[ダウンロード元] の順に選択し、[リモート配置] を選択して、上記の手順 6 と同様に、コンパイルされたファイルをローカルにダウンロードします。
9. ファイル–>設定–>ビルド、実行、デプロイ–>CMake、コンパイル オプション、ビルド ディレクトリなどを構成できます。
ここに画像の説明を挿入

10. ダウンロードが完了したら、trunk/ide/srs_clion ディレクトリを選択し、右クリックして CMakeLists.txt を選択し、CMake プロジェクトをロードして、cmake を実行します。

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

エラーの解決策: /objs/st/libst.a が見つかりません。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 アプリケーションを自動的に生成し、起動パラメーター、作業ディレクトリ、および環境変数を構成し、構成後にコンパイルします。
ここに画像の説明を挿入
11. 上の図の左上隅にある緑色のハンマーをクリックしてコンパイルします. コンパイルが成功したら、緑色のバグをクリックしてデバッグします.デバッグをステップ実行し、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