該存儲庫包含以下Google Cloud Platform服務的慣用C ++客戶庫。
請檢查ChangElog以獲取重要的公告和即將進行的更改。
每個庫(請參見下文)包含一個名為quickstart/
目錄,該目錄旨在幫助您在幾分鐘之內啟動和運行。該quickstart/
目錄包含一個最小的“ Hello World”程序,展示瞭如何使用庫,以及用於Complo build Systems(例如Cmake和Bazel)的最小構建文件。
例如,從Google Cloud存儲中獲取的以下代碼段應該使您了解使用這些C ++庫之一的感覺。
# include " google/cloud/storage/client.h "
# include < iostream >
# include < string >
int main ( int argc, char * argv[]) {
if (argc != 2 ) {
std::cerr << " Missing bucket name. n " ;
std::cerr << " Usage: quickstart <bucket-name> n " ;
return 1 ;
}
std::string const bucket_name = argv[ 1 ];
// Create a client to communicate with Google Cloud Storage. This client
// uses the default configuration for authentication and project id.
auto client = google::cloud::storage::Client ();
auto writer = client. WriteObject (bucket_name, " quickstart.txt " );
writer << " Hello World! " ;
writer. Close ();
if (!writer. metadata ()) {
std::cerr << " Error creating object: " << writer. metadata (). status ()
<< " n " ;
return 1 ;
}
std::cout << " Successfully created object: " << *writer. metadata () << " n " ;
auto reader = client. ReadObject (bucket_name, " quickstart.txt " );
if (!reader) {
std::cerr << " Error reading object: " << reader. status () << " n " ;
return 1 ;
}
std::string contents{std::istreambuf_iterator< char >{reader}, {}};
std::cout << contents << " n " ;
return 0 ;
}
有關更多信息,請參見每個庫的README.md
文件:
README.md
中指出,否則這些庫都是GA的,並由Google支持。這是一個快速入門指南,適用於希望編譯庫並運行庫中包含的示例的開發人員。
/usr/local
或/opt
)的開發人員應諮詢包裝指南。google-cloud-cpp
的貢獻者和開發人員應諮詢指南以建立開發工作站。該庫需要Bazel> = 6.0。從頂級目錄中運行通常的命令。
bazel build //...
該庫需要cmake> = 3.10。如果您打算安裝圖書館,請諮詢包裝指南,這些說明將不會產生您可以放入/usr/local
文物,也不會與您的同事共享。
從google-cloud-cpp
的頂級目錄中運行以下命令:
git -C $HOME clone https://github.com/microsoft/vcpkg.git
env VCPKG_ROOT= $HOME /vcpkg $HOME /vcpkg/bootstrap-vcpkg.sh
cmake -S . -B cmake-out/ -DCMAKE_TOOLCHAIN_FILE= $HOME /vcpkg/scripts/buildsystems/vcpkg.cmake
cmake --build cmake-out -- -j $( nproc )
二進製文物(例如示例)將被放置在cmake-out/
。
該項目遵循Google的OSS庫中斷變更策略。
通常,我們避免對我們的公共API做出不相容的更改。有時,這種變化以更好的性能,易於理解的API和/或更一致的API的形式為我們的客戶帶來好處。當這些好處需要它時,我們將:
CHANGELOG.md
文件和受影響的發行說明中宣布這些更改。google-cloud-cpp
的主要版本。然而,儘管我們採取商業上合理的努力來防止這種情況,但倒退的變化可能是未被發現的,因此沒有證件。如果是這種情況,我們深表歉意,歡迎反饋或錯誤報告以糾正問題。
有關如何為該項目做出貢獻的詳細信息,請參見CONTRIBUTING.md
。
Apache 2.0;有關詳細信息,請參見LICENSE
。