環境紹介:
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> が見つからないというエラーが報告されます。この行をコメントアウトできます。