# aws-sdk-cpp **Repository Path**: yashan_tech/aws-sdk-cpp ## Basic Information - **Project Name**: aws-sdk-cpp - **Description**: https://github.com/aws/aws-sdk-cpp - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: yasdb-1.11.140 - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 2 - **Created**: 2025-01-03 - **Last Updated**: 2025-07-31 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 版本说明 s3-sdk-cpp 使用的版本是1.11.140 附加修复: https://github.com/aws/aws-sdk-cpp/commit/314c1d73f42194fb956b173744c08b514566efcc # Linux编译 1. 编译openssl - ./config '-Wl,-rpath,$(LIBRPATH)' --prefix="/var/lib/jenkins/openssl-OpenSSL_1_1_1q/install" - make -j4 - make install 2. 编译curl - ./configure CFLAGS=-fPIC --without-libpsl --without-brotli --without-zstd --with-ssl="/var/lib/jenkins/openssl-OpenSSL_1_1_1q/install" --prefix=/var/lib/jenkins/curl-7.84.0/install - make -j4 - make install 3. 编译s3-sdk-cpp - 下载aws-s3-sdk-c工程 - 将压缩包aws-sdk-cpp.1.11.140.tar.gz解压到aws-s3-sdk-c目录下。 - 修改build.sh,将openssl和curl安装路径按上述进行调整。 - 注释掉./prefetch_crt_dependency.sh - 执行sh build.sh,如失败先清掉aws-sdk-cpp路径下的build目录。 注意arm下可能遇到无法运行测试的问题,可跳过测试用例。 4. 编译aws-s3-sdk-c - mkdir build - cd build - cmake -DCURL_LIBRARY_PATH=/var/lib/jenkins/curl-7.84.0/install/lib/ -DOPENSSL_LIBRARY_PATH=/var/lib/jenkins/openssl-OpenSSL_1_1_1q/install/lib/ ../ - make 5. 测试 运行ut_aws_s3,需根据测试的S3环境调整测试文件中的url,ak,sk等信息 6. 打包 tar -zcvf aws-s3-sdk-c-1.11.140.tar.gz include/ lib/ arm,ppc平台相应调整包名 # windows编译 1. 编译curl windows下参考源码目录下的winbuild/README nmake /f Makefile.vc mode=dll SSL_PATH=D:\tmp\openssl\libcrypto-1.1.1L-win\(使用crypto的路径) 2. 编译s3-sdk-cpp - mkdir build - cd build - "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin\cmake.exe" ..\ -DCMAKE_BUILD_TYPE=Release -DBUILD_ONLY="s3" -DENABLE_UNITY_BUILD=OFF -DFORCE_SHARED_CRT=ON -DBUILD_SHARED_LIBS=OFF -DFORCE_CURL=ON -DCURL_INCLUDE_DIR='D:/tmp/curl-7.84.0/curl-7.84.0/builds/libcurl-7.84.0-win/include/' -DCURL_LIBRARY='D:/tmp/curl-7.84.0/curl-7.84.0/builds/libcurl-7.84.0-win/lib/libcurl.lib' -DCMAKE_INSTALL_PREFIX="D:\tmp\aws-s3-sdk-c-master\install\" - "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin\MSBuild.exe" ALL_BUILD.vcxproj -p:Configuration=Release - "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin\MSBuild.exe" INSTALL.vcxproj -p:Configuration=Release CMAKE_INSTALL_PREFIX设置为aws-s3-sdk-c下的deps目录。MSBuild.exe等路径根据实际情况调整。 这里使用的动态库版本,静态库在编译aws-s3-sdk-c时遇到链接问题。 3. 编译aws-s3-sdk-c - "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin\cmake.exe" ..\ - "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin\MSBuild.exe" ALL_BUILD.vcxproj -p:Configuration=Release - "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin\MSBuild.exe" INSTALL.vcxproj -p:Configuration=Release 4. 打包 将aws-s3-c.dll与aws其他动态库一起打包 5. 测试 根据自己环境配置,调整test_aws_s3中的s3配置信息。 执行ut_aws_s3.exe # 使用 可参考测试用例。 # 注意事项 1. 目前提交构建并不保证Arm和loong平台的编译,提供相关包时注意确保对应的平台可以编译通过。 2. 注意编译环境的glibc版本,x86,arm应该是2.17,loong目前是2.28 # FAQ 1. curl编译问题:implicit declaration of function 'sched_yield' loong/PPC下编译到该问题,解决方法参考: https://blog.csdn.net/wquasdf/article/details/126028387