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

0

お世話になっております。 現在、以下のハンズオンをAWS Cloud9で試しております。 タイトル: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/ その際のエラーについて教えてください。 =======================

【環境について】 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_castAws::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 ===================== エラーを確認し、エラーとなっているソースコードまでさかのぼりましたが、手を加えた部分ではなかったため、対処法がわかっておりません。

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

質問済み 1年前281ビュー
1回答
0

直接的な回答ではないですが、Cloud9でしたら、yum で portaudio をインストールしたら、どうでしょうか?

記事にも以下のようにパッケージからインストールすることも言及されているようですので。

The first step is to download and install PortAudio from the source. If you’re using Linux or macOS, you can use the system’s package manager to install the library (for example: apt, yum, or Homebrew).

profile pictureAWS
nemf
回答済み 1年前

ログインしていません。 ログイン 回答を投稿する。

優れた回答とは、質問に明確に答え、建設的なフィードバックを提供し、質問者の専門分野におけるスキルの向上を促すものです。

質問に答えるためのガイドライン