AWS SDK for C++ 코드 예제 시작하기
코드 예제의 구조
Github의 C++ 예제 폴더get_item.cpp 및 put_item.cpp라는 별도의 파일이 있습니다. 각 .cpp 파일에는 독립형 실행 파일의 진입점 역할을 하는 main() 함수가 포함되어 있습니다. 프로젝트 실행 파일은 빌드 시스템에서 지정한 폴더에 생성되며 각 예제 소스 파일에 해당하는 실행 파일이 하나씩 있습니다. 실행 파일의 이름은 {name}.exe 또는 {name}와 같이 플랫폼의 규칙을 따르며, CMakeLists.txt에 지정된 run_과 같은 사용자 지정 접두사가 적용됩니다.
예제 기능을 실행하려면
-
GitHub의 AWS 코드 예제 리포지토리
에서 원하는 코드 예제를 다운로드합니다. -
.cpp 파일을 열어
main()함수와 호출된 메서드를 살펴봅니다. -
AWS SDK for C++를 사용하여 시작하기의 스타터 예제와 같이 진행합니다. 프로젝트를 빌드하면 프로젝트 내 모든 소스 파일별로 실행 파일이 각각 생성됩니다.
-
선택한 기능의 실행 파일을 실행합니다.
-
명령 프롬프트에서
*.cpp파일 이름에 기반한 실행 파일을 사용하여 해당 프로그램을 실행합니다. -
IDE 내에서 작업하는 경우 시연하려는 기능의
.cpp파일을 선택한 후 스타트업 옵션(또는 스타트업 객체)으로 선택합니다.
-
유닛 테스트
예제에 대한 테스트는 GoogleTest 프레임워크를 사용하여 작성됩니다. 자세한 내용은 GoogleTest 웹 사이트의 GoogleTest Primer
각 예제에 대한 유닛 테스트는 자체 CMakeLists.txt 파일이 포함된 tests 하위 폴더에 있습니다. 각 예제 소스 파일마다 gtest_이라는 이름의 대응하는 테스트 파일이 있습니다. 하위 폴더에 대한 테스트 실행 파일의 이름은 <source file>입니다.<AWS 서비스>_gtests
CMakeLists.txt 파일
각 서비스의 폴더에는 CMakeLists.txt라는 파일이 포함되어 있습니다. 이러한 파일 중 다수에는 다음과 유사한 구문이 포함되어 있습니다.
foreach(EXAMPLE IN LISTS EXAMPLES) add_executable(${EXAMPLE} ${EXAMPLE}.cpp) target_link_libraries(${EXAMPLE} aws-cpp-sdk-email aws-cpp-sdk-core) endforeach()
폴더 내 각 .cpp 파일에 대해 CMakeLists.txt 파일은 파일 확장자를 제외한 이름을 기반으로 실행 파일(cmake: add_executable)을 빌드합니다.
Visual Studio에서 코드 예제 빌드 및 디버깅
Amazon S3 코드 예제 빌드 및 실행
-
Amazon S3 예제 소스 코드를 가져옵니다. 이 절차에서는 Visual Studio를 사용하여 작업을 시작하기 위해 AWS SDK for C++를 사용한 Amazon S3용 코드 예제 코드 예제를 사용합니다.
-
Windows 탐색기에서
s3폴더(예:\aws-doc-sdk-examples\cpp\example_code\s3)로 이동합니다. -
s3예제 폴더를 마우스 오른쪽 버튼으로 클릭하고 Visual Studio로 열기를 선택합니다. CMake 프로젝트용 Visual Studio에는 '프로젝트' 파일이 없고, 전체 폴더가 프로젝트 파일 역할을 합니다. -
Visual Studio의 상단 메뉴에 있는 구성 선택기 드롭다운에서 선택한 구성이 소스에서 SDK를 빌드할 때 선택한 빌드 유형과 일치하는지 확인합니다. 예를 들어, SDK 설치 지침에 따라 CMake 명령줄에서 디버그 옵션(
-DCMAKE_BUILD_TYPE=Debug)을 사용하여 소스에서 빌드한 경우 디버그 구성을 선택해야 합니다. -
CMakeLists.txt파일을 엽니다. -
저장을 클릭합니다.
CMakeLists.txt파일에서 저장을 클릭할 때마다 Visual Studio에서 CMake 생성 파일을 새로 고칩니다. 출력 탭이 표시되어 있다면 이 생성 과정에서 발생한 로그 메시지를 확인할 수 있습니다.-
출력 탭에는 "다음에서 출력 표시:"라는 드롭다운 상자가 있는데 CMake가 기본적으로 선택되어 있어야 합니다.
-
마지막 메시지 출력에는 "CMake 생성 완료"라고 표시되어 있어야 합니다.
-
마지막 메시지가 이와 다르다면 CMake 파일에 문제가 있는 것입니다. 이 문제가 해결될 때까지 추가 단계를 진행하지 마세요. AWS SDK for C++ 빌드 문제 해결을(를) 참조하세요.
-
CMake에서는 속도 향상을 위해 CMake 캐시를 사용합니다. CMake 관련 문제를 해결하는 경우 표시되는 오류 메시지가 최근 변경 사항을 실제로 반영하도록 ‘'클린 슬레이트’' 상태를 유지해야 합니다. 솔루션 탐색기에서
CMakeLists.txt를 마우스 오른쪽 버튼으로 클릭하고 CMake 캐시를 선택한 다음 캐시 삭제를 선택합니다. CMake 문제를 단계적으로 해결할 때 이 작업을 자주 수행합니다.
-
-
Visual Studio 내에서 예제를 빌드하고 실행하기 위해 Visual Studio는 실행 파일을 명령줄과 다른 폴더 구조에 배치합니다. 코드를 실행하려면 SDK 실행 파일을 올바른 위치에 복사해야 합니다. CMakeLists 파일의 “
TODO” 줄(~40번째 줄)을 찾아 Visual Studio에서 사용하기 위해 주석 처리된 줄을 선택합니다. Visual Studio는 빌드 유형 전용 하위 폴더를 사용하지 않으므로 이 줄은 포함되지 않습니다. Visual Studio 사용을 위해CMakeLists.txt파일에서 주석 처리된 줄을 전환합니다. -
위에서 설명한 대로 CMake 캐시를 삭제하고
CMakeLists.txt파일을 클릭하여 탭을 선택/활성화한 다음CMakeLists.txt파일에서 저장을 다시 선택하여 CMake 빌드 파일 생성을 시작합니다. -
실행하려는 '프로그램'의 소스 파일을 엽니다.
-
예를 들어
list_buckets.cpp를 엽니다. -
Amazon S3 예제 폴더는 Amazon S3의 각 '기능'이 해당 기능만을 위한 전용 실행 파일에서 시연되도록 코딩되어 있습니다. 예를 들어
list_buckets.cpp는 버킷 목록 표시 기능만을 시연하는 실행 파일이 됩니다.
-
-
상단 메뉴에서 빌드를 선택한 다음 모두 빌드를 선택합니다.
-
출력 탭의 다음에서 출력 표시에는 빌드 선택 사항이 반영되며 모든 빌드 및 연결 메시지가 표시됩니다.
-
마지막 출력은 "모두 빌드 성공"이어야 합니다.
-
이제 개별 소스 파일 각각에 대한 실행 파일이 생성됩니다. 빌드 출력 디렉터리(예:
\aws-doc-sdk-examples\cpp\example_code\s3\out\build\x64-Debug)를 확인하면 이를 확인할 수 있습니다. -
CMakeLists.txt파일에 명시된 대로 실행 파일에는 “run_” 접두사가 붙습니다.
-
-
상단 메뉴에는 디버그 대상에 대한 녹색 화살표와 드롭다운 선택기가 있습니다.
run_list_buckets.exe를 선택합니다. -
녹색 화살표 실행 버튼을 클릭하여 시작 항목을 선택합니다.
-
Visual Studio 디버그 콘솔 창이 열리고 코드 출력이 표시됩니다.
-
키를 눌러 창을 닫거나 수동으로 창을 닫아 프로그램을 종료합니다. 코드에 중단점을 설정할 수도 있으며, 실행을 다시 클릭하면 중단점에 도달합니다.