AWS Cloud9 と AWS C++ SDK(Transcribe Streaming)を利用したアプリケーションビルドエラー

実現したいこと

タイトル:Real-time streaming transcription with the AWS C++ SDK
https://aws.amazon.com/jp/blogs/developer/real-time-streaming-transcription-with-the-aws-c-sdk/
にあるAWSハンズオンをAWS Cloud9にて試したいです。

前提

環境について
Cloud9内の環境構築は、
AWS Cloud9 の C++ サンプル:
https://docs.aws.amazon.com/ja_jp/cloud9/latest/user-guide/sample-cplusplus.html
を参考にし、実現しました。

現状について
実現したいことに記載したAWS公式ハンズオンにおける、
・portAudioのインストール&ビルド
・Amazon Transcribe Streaming C++ SDK のインストール&ビルド
・2つのソースファイルの記入と配置
・CMakeスクリプト(CMakeLists.txt)の作成
まで完了し、残すは、アプリケーションのビルド:

$ mkdir build $ cd build $ cmake .. -DCMAKE_BUILD_TYPE=Release $ cmake --build . --config Release

となっています。
ディレクトリ構成は以下のように設定しております:

├── aws-sdk-cpp ├── cmake-3.18.0 ├── portaudio └── transcribeTestApl    ├── CMakeLists.txt    ├── audio-capture.cpp    ├── build    └── main.cpp

発生している問題・エラーメッセージ

上記の「現状について」で記載した、
$ cmake --build . --config Release
によってリリースをした際に以下のようなエラーが発生してしまいます。

Scanning dependencies of target demo [ 33%] Building CXX object CMakeFiles/demo.dir/audio-capture.cpp.o In file included from /home/ec2-user/environment/transcribeTestApl/audio-capture.cpp:4:0: /usr/local/include/aws/transcribestreaming/model/AudioStream.h: In member function ‘Aws::TranscribeStreamingService::Model::AudioStream& Aws::TranscribeStreamingService::Model::AudioStream::WriteConfigurationEvent(const Aws::TranscribeStreamingService::Model::ConfigurationEvent&)’: /usr/local/include/aws/transcribestreaming/model/AudioStream.h:47:44: error: invalid use of incomplete type ‘class Aws::Utils::Json::JsonValue’ msg.WriteEventPayload(value.Jsonize().View().WriteCompact()); ^ In file included from /usr/local/include/aws/transcribestreaming/model/ConfigurationEvent.h:9:0, from /usr/local/include/aws/transcribestreaming/model/AudioStream.h:9, from /home/ec2-user/environment/transcribeTestApl/audio-capture.cpp:4: /usr/local/include/aws/transcribestreaming/model/PostCallAnalyticsSettings.h:18:9: note: forward declaration of ‘class Aws::Utils::Json::JsonValue’ class JsonValue; ^~~~~~~~~ /home/ec2-user/environment/transcribeTestApl/audio-capture.cpp: In function ‘int AudioCaptureCallback(const void*, void*, long unsigned int, const PaStreamCallbackTimeInfo*, PaStreamCallbackFlags, void*)’: /home/ec2-user/environment/transcribeTestApl/audio-capture.cpp:17:92: error: no matching function for call to ‘Aws::TranscribeStreamingService::Model::AudioStream::AudioStream(void*&)’ auto stream = static_cast<Aws::TranscribeStreamingService::Model::AudioStream>(userData); ^ In file included from /home/ec2-user/environment/transcribeTestApl/audio-capture.cpp:4:0: /usr/local/include/aws/transcribestreaming/model/AudioStream.h:28:44: note: candidate: Aws::TranscribeStreamingService::Model::AudioStream::AudioStream() class AWS_TRANSCRIBESTREAMINGSERVICE_API AudioStream : public Aws::Utils::Event::EventEncoderStream ^~~~~~~~~~~ /usr/local/include/aws/transcribestreaming/model/AudioStream.h:28:44: note: candidate expects 0 arguments, 1 provided gmake[2]: *** [CMakeFiles/demo.dir/audio-capture.cpp.o] Error 1 gmake[1]: *** [CMakeFiles/demo.dir/all] Error 2 gmake: *** [all] Error 2

試したこと

エラーを確認し、エラーとなっているソースコードまでさかのぼりましたが、手を加えた部分ではなかったため、対処法がわかっておりません。

お手数をおかけしますが、ご回答をお願い致します。

コメントを投稿

0 コメント