title: AwsStringStream.h: No such file or directory
body: <p>I am working on the tutorial in this <a href="https://aws.amazon.com/blogs/developer/using-cmake-exports-with-the-aws-sdk-for-c/" rel="nofollow">link</a>.
  I have all libraries and aws-cpp-sdk are installed.
  I have aws folder inside /usr/local/include.</p>
  
  <pre><code>When I make the cpp file, I have error as 
   sudo make
  -- Configuring done
  -- Generating done
  -- Build files have been written to: /home/Softwares/Projects/S3upload/build
  [100%] Building CXX object CMakeFiles/S3upload.dir/S3upload.cpp.o
  /home/Softwares/Projects/S3upload/S3upload.cpp:4:56: fatal error: aws/core/utils/memory/stl/AwsStringStream.h: No such file or directory
   #include &lt;aws/core/utils/memory/stl/AwsStringStream.h&gt; 
                                                          ^
  compilation terminated.
  make[2]: *** [CMakeFiles/S3upload.dir/S3upload.cpp.o] Error 1
  make[1]: *** [CMakeFiles/S3upload.dir/all] Error 2
  make: *** [all] Error 2
  </code></pre>
  
  <p>What could be wrong?
  My cpp file is </p>
  
  <pre><code>#include &lt;aws/s3/S3Client.h&gt;
  #include &lt;aws/s3/model/PutObjectRequest.h&gt;
  #include &lt;aws/s3/model/GetObjectRequest.h&gt;
  #include &lt;aws/core/utils/memory/stl/AwsStringStream.h&gt; 
  
  using namespace Aws::S3;
  using namespace Aws::S3::Model;
  
  
  static const char* KEY = "xxxxxxxxxxxx";//"s3_cpp_sample_key";
  static const char* BUCKET = "xxxxxx";//"s3-cpp-sample-bucket";
  
  int main()
  {
      S3Client client;
  
      //first put an object into s3
      PutObjectRequest putObjectRequest;
      putObjectRequest.WithKey(KEY)
             .WithBucket(BUCKET);
  
      //this can be any arbitrary stream (e.g. fstream, stringstream etc...)
      auto requestStream = Aws::MakeShared&lt;Aws::StringStream&gt;("s3-sample");
      *requestStream &lt;&lt; "Hello World!";
  
      //set the stream that will be put to s3
      putObjectRequest.SetBody(requestStream);
  
      auto putObjectOutcome = client.PutObject(putObjectRequest);
  
      if(putObjectOutcome.IsSuccess())
      {
          std::cout &lt;&lt; "Put object succeeded" &lt;&lt; std::endl;
      }
      else
      {
          std::cout &lt;&lt; "Error while putting Object " &lt;&lt; putObjectOutcome.GetError().GetExceptionName() &lt;&lt; 
                 " " &lt;&lt; putObjectOutcome.GetError().GetMessage() &lt;&lt; std::endl;
      }
  
  
      return 0;  
  }
  </code></pre>
  
  <p>My CMakeLists.txt is</p>
  
  <pre><code>cmake_minimum_required(VERSION 2.8)
  project(S3upload)
  
  #this will locate the aws sdk for c++ package so that we can use its targets
  #/usr/src/Softwares/AWSC++SDK/aws-sdk-cpp/build/
  find_package(aws-sdk-cpp)
  
  add_executable(S3upload S3upload.cpp)
  
  #since we called find_package(), this will resolve all dependencies, header files, and cflags necessary
  #to build and link your executable. 
  target_link_libraries(S3upload aws-cpp-sdk-s3)
  </code></pre>