2017-11-08 4 views
0

私はC++を読んでStroustrupの本を読んで、仕事関連のコードを練習しています。C++ AWSCredentials: `Aws :: Free(void *) 'への未定義の参照

私はAmazon Simple Systems Managerを呼び出すための小さなコードを書く必要があります(もし私がそれをするなら、Pythonは約5分かかるでしょうが、これは学習用です)。

最初に行う必要があるのは、アクセスと秘密のキーを持つcredentialsオブジェクトを作成することです。これは私が思ったよりも難しくなっています!

#include <aws/core/Aws.h> 
#include <aws/core/auth/AWSCredentialsProvider.h> 
... 
char const* AWS_ACCESS_KEY_ID = "aaaaaaa"; 
char const* AWS_SECRET_ACCESS_KEY = "bbbbb"; 

Aws::Auth::AWSCredentials creds(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY); 

しかし、私は次のエラーを取得しています:私は理解することができ

In function `Aws::Allocator<char>::deallocate(char*, unsigned long)': 
main.cpp: undefined reference to `Aws::Free(void*)' 

ベストはこれがAws::Stringが動作するようになっている方法に問題があるのですか?

ドキュメントによると、それは私が失われていますそれを超えて、私はbasic_stringを見て、それはちょうど、標準ライブラリの文字列ですtypedef std::basic_string< char, std::char_traits<char>, Aws::Allocator<char> >

です。ここで

+0

ダウン投票の代わりに、あなたが好きでないことを説明しようとしますか?質問を正しく聞かなかったのですか?私は尋ねる前に十分にグーグルではなかったか? –

+2

未定義の参照は、リンカーがこの機能を見つけることができないことを意味します。これは通常、リンクに必要なライブラリを指定しなかったことを意味します。 libsが必要なドキュメントを確認してください。 – Slava

+0

@ Sam。誰かがあなたの質問を否定したことをお詫び申し上げます。私はちょうどそれをupvoted。私はAWS C++ SDKに多くの経験があります。 SDKの「Amazon Coding Style」を学ぶには、しばらく時間がかかります。あなたのソースコードで新しい質問を投稿し、私が利用可能なときに助けを借りて挑戦しようとします。 –

答えて

1

私はアマゾンC++ SDKを使用して資格情報をテストするための簡単なプログラムのために含まれ、ヘッダーされています。あなたのリンカでは

#include <stdio.h> 
#include <tchar.h> 
#include <aws/core/Aws.h> 
#include <aws/core/utils/memory/stl/AWSString.h> 
#include <aws/core/utils/logging/DefaultLogSystem.h> 
#include <aws/core/utils/logging/AWSLogging.h> 
#include <aws/core/auth/AWSCredentialsProvider.h> 
#include <aws/core/auth/AWSCredentialsProviderChain.h> 

は、AWS-CPP-SDK-core.libライブラリが含まれています。

注:Visual Studioを使用してプロジェクトをビルドしています。

+0

ありがとう!私はLinuxの 'g ++ --std = C++ 11'をコマンドラインから使っていますが、これはまだ非常に役に立ちます! –

関連する問題