Conceitos básicos dos exemplos de código do AWS SDK para C++
Estrutura dos exemplos de código
A pasta de exemplos de C++get_item.cpp e put_item.cpp. Cada arquivo .cpp contém uma função main() como ponto de entrada para um executável autônomo. Os executáveis do projeto são gerados em uma pasta designada pelo seu sistema de compilação, e há um arquivo executável correspondente a cada exemplo de arquivo fonte. O nome de arquivo do executável segue as convenções da plataforma, como {name}.exe ou apenas {name} e se aplica qualquer prefixo personalizado CMakeLists.txt, como run_.
Como executar um exemplo de funcionalidade
-
Baixe o exemplo de código desejado do Repositório de exemplos de código da AWS
no GitHub. -
Abra um arquivo .cpp para explorar a respectiva função
main()e quaisquer métodos chamados. -
Compile o projeto, conforme demonstrado com o exemplo inicial em Getting started using the AWS SDK para C++. Observe que a compilação do projeto gera o executável para cada arquivo-fonte do projeto.
-
Inicie o executável da funcionalidade selecionada.
-
Em um prompt de comando, execute esse programa usando o executável com base no nome do arquivo
*.cpp. -
Se você estiver trabalhando em um IDE, escolha o arquivo
.cppda funcionalidade que deseja demonstrar e selecione-o como a opção de inicialização (ou objeto de inicialização).
-
Testes de unidade
Os testes para exemplos são escritos usando o framework do GoogleTest. Para saber mais, consulte GoogleTest Primer
Os testes de unidade para cada exemplo estão em uma subpasta tests que contém o próprio arquivo CMakeLists.txt. Para cada arquivo-fonte de exemplo, há um arquivo de teste correspondente chamado gtest_. O executável de teste para a subpasta é denominado <source file>.<AWS service (Serviço da AWS)>_gtests
Arquivo CMakeLists.txt
A pasta de cada serviço contém um arquivo denominado CMakeLists.txt. Muitos desses arquivos contêm um constructo semelhante ao mostrado abaixo:
foreach(EXAMPLE IN LISTS EXAMPLES) add_executable(${EXAMPLE} ${EXAMPLE}.cpp) target_link_libraries(${EXAMPLE} aws-cpp-sdk-email aws-cpp-sdk-core) endforeach()
Para cada arquivo .cpp na pasta, o arquivo CMakeLists.txt cria um executável (cmake: add_executable) com um nome baseado no arquivo-fonte sem a extensão.
Exemplos de código de compilação e depuração no Visual Studio
Compilar e executar o exemplo de código do Amazon S3
-
Acesse o exemplo código-fonte do Amazon S3. Este procedimento usa o exemplo de código Exemplos de código do Amazon S3 usando o AWS SDK para C++ para começar a usar o Visual Studio.
-
No Windows Explorer, navegue até a pasta
s3(por exemplo,\aws-doc-sdk-examples\cpp\example_code\s3). -
Clique com o botão direito na pasta de exemplo
s3e escolha Abrir com o Visual Studio. Os projetos do Visual Studio para CMake não têm um arquivo de “projeto”, mas sim a pasta inteira. -
No menu suspenso Seletor de configuração no menu superior do Visual Studio, verifique se a configuração selecionada corresponde ao tipo de compilação que você selecionou ao criar o SDK com base na fonte. Por exemplo, uma configuração de depuração deverá estar selecionada se você compilou com base no código-fonte usando depuração (
-DCMAKE_BUILD_TYPE=Debugna linha de comando do CMake por meio das instruções de instalação do SDK). -
Abra o arquivo
CMakeLists.txt. -
Clique em Salvar. Sempre que você clica em Salvar no arquivo
CMakeLists.txt, o Visual Studio atualiza os arquivos gerados pelo CMake. Se você tiver a guia Saída exibida, poderá ver as mensagens de log resultantes dessa geração.-
Há uma caixa suspensa na guia Saída que diz: "Mostrar saída de:" e o CMake deve ser a opção selecionada por padrão.
-
A saída da última mensagem deve ser “A geração do CMake terminou”.
-
Se a última mensagem não for essa, há problemas no arquivo do CMake. Não prossiga com outras etapas até resolver isso. Consulte Solução de problemas de compilação do AWS SDK para C++.
-
Observe que o cache do CMake é usado pelo CMake para aumentar a velocidade. Se você estiver resolvendo problemas do CMake, convém garantir um “ponto de partida limpo” para que as mensagens de erro recebidas exibam, na verdade, as alterações mais recentes. No Solution Explorer, clique com o botão direito do mouse em
CMakeLists.txt, escolha Cache do CMake e, depois, selecione Excluir cache. Faça isso com frequência ao enfrentar progressivamente problemas do CMake.
-
-
Para compilar e executar exemplos de dentro do Visual Studio, este coloca os executáveis em uma estrutura de pastas diferente da linha de comandos. Para executar o código, os executáveis do SDK devem ser copiados no lugar certo. Encontre a linha “
TODO” do arquivo CMakeLists (em torno da linha 40) e escolha a comentada para uso no Visual Studio. O Visual Studio não usa uma subpasta dedicada ao tipo de compilação, portanto, isso não está incluído. Alterne a linha comentada no arquivoCMakeLists.txtpara uso do Visual Studio. -
Exclua o cache do CMake (conforme descrito acima), clique no arquivo
CMakeLists.txtpara selecionar/ativar a guia e escolha Salvar no arquivoCMakeLists.txtnovamente para iniciar a geração dos arquivos de compilação do CMake. -
Abra o arquivo-fonte do “programa” que você deseja executar.
-
Por exemplo, abra
list_buckets.cpp. -
A pasta de exemplo do Amazon S3 é codificada para que cada “recurso” exibido do Amazon S3 seja demonstrado em um executável dedicado apenas para esse recurso. Por exemplo, o
list_buckets.cppse tornará um executável que demonstra apenas a listagem de buckets.
-
-
No menu superior, escolha Compilar e, depois, Compilar tudo.
-
A opção Mostrar saída de da guia Saída deve exibir a seleção de Compilar e mostrar todas as mensagens de compilação e vinculação.
-
A última saída deve ser: "Compilação de tudo feita com êxito”.
-
Agora, os executáveis de cada um dos arquivos-fonte individuais são gerados. Você pode confirmar isso examinando o diretório de saída da compilação (por exemplo,
\aws-doc-sdk-examples\cpp\example_code\s3\out\build\x64-Debug). -
Observe que os executáveis têm o prefixo “run_” porque o arquivo
CMakeLists.txtdetermina isso.
-
-
No menu superior, há uma seta verde e um seletor suspenso para Depurar destino. Selecione
run_list_buckets.exe. -
Clique no botão de execução da seta verde para selecionar o item de inicialização.
-
Uma janela do Console de depuração do Visual Studio será aberta e exibirá a saída do código.
-
Pressione uma tecla para fechar a janela ou feche-a manualmente para encerrar o programa. Você também pode definir pontos de interrupção no código e, ao clicar em executar novamente, os pontos de interrupção serão acionados.