古い人間なので、前回は Visual Studio Community 2022 エディション をインストールして、昔ながらのコマンドラインでビルドしたら大変な思いをしました。
今度は本来のIDEとして Visual Studio を使ってビルドしてみたいと思います。
Git や CMake、Strawberry Perl、GStreamer もインストールされている前提です。
まず、前提として Visual Studio Installer で、「C++によるデスクトップ開発」を選択し、インストールの詳細で以下2つにチェックしてインストールしておきます。
スタートメニューから Visual Studio を起動します。
起動したらこんな画面が開きます。
起動したら、リポジトリのクローンをクリック。
リポジトリの場所に、KVSのC++用プロデューサーSDKのリポジトリを指定します。
https://github.com/awslabs/amazon-kinesis-video-streams-producer-sdk-cpp.git
パスは適当に指定してください。
これで、クローンをクリックすると、リポジトリのクローンが始まります。
フォルダビューでクローンしたフォルダ(CMakeLists.txtを含む)を開くと、自動的に CMake の処理が始まります。
今回は GStreamer のプラグインとして使いたいので、「プロジェクト」メニューから「KinesisVideoProducerCPP の CMake の設定」をクリックします。
CMake の設定画面が開くので、「CMake 変数とキャッシュ」で「BUILD_GSTREAMER_PLUGIN」にチェックします。
進捗状況は、こんな感じで出力ウィンドウで確認できます。
1 2 3 4 5 6 7 8 9 |
1> 既定の構成 'x64-Debug' の CMake 生成を開始しました。 1> vcpkg ツールチェーン ファイル (C:/dev/vcpkg/scripts/buildsystems/vcpkg.cmake) が見つかり、使用中です。 1> コマンド ライン: "C:\Windows\system32\cmd.exe" /c "%SYSTEMROOT%\System32\chcp.com 65001 >NUL && "C:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\2022\COMMUNITY\COMMON7\IDE\COMMONEXTENSIONS\Microsoft\CMake\CMake\bin\cmake.exe" -G "Ninja" -DCMAKE_BUILD_TYPE:STRING="Debug" -DCMAKE_INSTALL_PREFIX:PATH="C:\work\Source\Repos\out\install\x64-Debug" -DCMAKE_C_COMPILER:FILEPATH="C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.32.31326/bin/Hostx64/x64/cl.exe" -DCMAKE_CXX_COMPILER:FILEPATH="C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.32.31326/bin/Hostx64/x64/cl.exe" -DCMAKE_MAKE_PROGRAM="C:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\2022\COMMUNITY\COMMON7\IDE\COMMONEXTENSIONS\Microsoft\CMake\Ninja\ninja.exe" -DCMAKE_TOOLCHAIN_FILE="C:/dev/vcpkg/scripts/buildsystems/vcpkg.cmake" "C:\work\Source\Repos" 2>&1" 1> 作業ディレクトリ: C:\work\Source\Repos\out\build\x64-Debug 1> [CMake] -- The C compiler identification is MSVC 19.32.31329.0 1> [CMake] -- The CXX compiler identification is MSVC 19.32.31329.0 1> [CMake] -- Detecting C compiler ABI info 1> [CMake] -- Detecting C compiler ABI info - done ※以下省略 |
かなり時間がかかるので、気長に待ちます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
1> [CMake] Building Custom Rule C:/work/Source/Repos/dependency/libkvscproducer/kvscproducer-src/dependency/libkvspic/CMakeLists.txt 1> [CMake] -- Looking for pthread.h 1> [CMake] -- Looking for pthread.h - not found 1> [CMake] -- Found Threads: TRUE 1> [CMake] -- Found OpenSSL: C:/work/Source/Repos/open-source/local/lib/libcrypto.lib (found version "1.1.1g") 1> [CMake] -- Found CURL: C:/work/Source/Repos/open-source/local/lib/cmake/CURL/CURLConfig.cmake (found version "7.68.0-DEV") 1> [CMake] -- Bitness 64 bits 1> [CMake] -- Found ZLIB: C:/gstreamer/1.0/x86_64/lib/z.lib (found suitable version "1.2.11", minimum required is "1") 1> [CMake] -- Checking for module 'gstreamer-app-1.0' 1> [CMake] -- Found gstreamer-app-1.0, version 1.16.3 1> [CMake] -- Configuring done 1> [CMake] -- Generating done 1> [CMake] -- Build files have been written to: C:/work/Source/Repos/out/build/x64-Debug 1> CMake 変数を抽出しました。 1> ソース ファイルとヘッダーを抽出しました。 1> コード モデルを抽出しました。 1> 展開されたツールチェーンの構成。 1> インクルード パスを抽出しました。 1> CMake 生成が完了しました。 |
このように表示されたら CMake は完了です。
あとは、「ビルド」メニューから「全てビルド」をクリック、もしくは F7 キー押下。
するとビルドが始まります。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
>------ すべてビルド 開始済み: プロジェクト: Repos、構成: x64-Debug ------ [1/141] Building C object dependency\libkvscproducer\kvscproducer-src\CMakeFiles\cproducer.dir\src\source\StreamLatencyStateMachine.c.obj [2/141] Building C object dependency\libkvscproducer\kvscproducer-src\CMakeFiles\cproducer.dir\src\source\StaticAuthCallbacks.c.obj [3/141] Building C object dependency\libkvscproducer\kvscproducer-src\CMakeFiles\cproducer.dir\src\source\Response.c.obj [4/141] Building C object dependency\libkvscproducer\kvscproducer-src\dependency\libkvspic\kvspic-src\CMakeFiles\kvspic.dir\src\client\src\Callbacks.c.obj ~中略~ [133/141] Linking CXX executable kvs_gstreamer_file_uploader_sample.exe [134/141] Linking C static library dependency\libkvscproducer\kvscproducer-src\dependency\libkvspic\kvspic-src\kvspicUtils.lib [135/141] Linking C static library dependency\libkvscproducer\kvscproducer-src\kvsCommonCurl.lib [136/141] Linking C static library dependency\libkvscproducer\kvscproducer-src\cproducer.lib [137/141] Linking CXX static library KinesisVideoProducer.lib [138/141] Linking CXX executable kvs_gstreamer_sample.exe [139/141] Linking CXX executable kvs_gstreamer_multistream_sample.exe [140/141] Linking CXX executable kvs_gstreamer_audio_video_sample.exe [141/141] Linking CXX shared module gstkvssink.dll すべてビルド が成功しました。 |
このように表示されたらビルドも完了です。
コマンドラインでやるよりも、断然簡単でした。
何事も勉強ですね。