הגדרת סביבת פיתוח בשפת C++‎

במדריך הזה נסביר איך להכין את המחשב המקומי לפיתוח ב-C++‎, כולל פיתוח אפליקציות C++‎ שפועלות ב- Google Cloud.

אם כבר הגדרתם סביבת פיתוח, תוכלו לעיין במאמר C++‎ ו- Google Cloud כדי לקבל סקירה כללית על הפעלת אפליקציות C++‎ ב- Google Cloud.

מטרות

  • מתקינים גרסה נתמכת של C++‎ שתואמת ל-Google Cloud.
  • מתקינים מערכת build של C++‎.
  • מתקינים עורך (אופציונלי).
  • מתקינים את Google Cloud CLI (אופציונלי).
  • מתקינים את ספריות הלקוח של Cloud לשימוש ב-C++‎ (אופציונלי).
  • מגדירים אימות.

התקנה של C++‎

הוראות ההתקנה של C++‎ משתנות בהתאם למערכת ההפעלה. פועלים לפי המדריך למערכת ההפעלה שבה אתם משתמשים בסביבת הפיתוח: macOS,‏ Windows או Linux.

macOS

  1. אפשר לקבל מהדר C++ על ידי התקנה של כלי שורת הפקודה של Xcode.

    xcode-select --install
    
  2. אחרי שההתקנה מסתיימת, מוודאים שהקומפיילר זמין בתור c++:

    c++ --version
    

Windows

  1. כדי להתקין מהדר C++ בסביבת Windows, מורידים את Visual Studio של מיקרוסופט מהאתר של Visual Studio. הפעולה הזו תוריד סביבת פיתוח משולבת מלאה, כולל עורך, מאתר באגים ומערכות בנייה.

  2. כדי לגשת לקומפיילר C++‎, פועלים לפי ההוראות בקטע C++‎ במדריך תחילת העבודה של Visual Studio.

Linux

רוב הפצות Linux (אם לא כולן) כוללות את GCC כקומפיילר C++ הראשי שלהן. בהרבה הפצות של Linux יש גם את CLang כקומפיילר חלופי של C++. ספריות הלקוח C++‎ תומכות בשני סוגי ההרשאות.

  1. כדי להתקין C++‎ בסביבת Linux, צריך להתקין את החבילות המתאימות להפצה שלכם. ב-Debian וב-Ubuntu, החבילה הזו היא g++‎.

    מתקינים את החבילות האלה באמצעות הפקודות הבאות:

    sudo apt update
    sudo apt install g++
    
  2. אחרי שההתקנות מסתיימות, מוודאים שהתקנתם את:g++

    g++ --version
    

התקנה של מערכת בנייה ב-C++ שתואמת ל-Google Cloud

כדי להשתמש ב-C++‎ בצורה יעילה, תצטרכו מערכת build וכלי לניהול חבילות שתומכים בספריות הלקוח של Cloud ל-C++‎. ספריות הלקוח תומכות בכמה מערכות build וכלי לניהול חבילות כאלה.

‫CMake עם vcpkg

  1. יכול להיות שמערכת ההפעלה שלכם מספקת חבילות של CMake להתקנה. אם היא לא מותקנת, מתקינים אותה מדף ההורדה של CMake.

  2. הוראות להתקנת vcpkg מפורטות במאמר תחילת העבודה עם vcpkg

‫CMake עם Conda

  1. יכול להיות שמערכת ההפעלה שלכם מספקת חבילות של CMake להתקנה. אם היא לא מותקנת, מתקינים אותה מדף ההורדה של CMake.

  2. כדי להתקין את Conda, אפשר לעיין בקטע ההתקנה במדריך למשתמש של Conda.

Bazel

  1. הוראות להתקנת Bazel מופיעות במאמר התקנת Bazel

אחר

אם אתם צריכים להשתמש במערכת build או במנהל חבילות אחרים, במאגר של ספריות הלקוח של C++‎ יש הוראות לbuild ממקור.

התקנת עורך

יש הרבה עורכים וסביבות פיתוח משולבות (IDE) שתומכים ב-C++‎. בוחרים את האפשרות שהכי מתאימה לצרכים שלכם. כדאי להביא בחשבון את התכונות הבאות כשבוחרים את האפשרות המתאימה:

  • יכולות ניפוי באגים משולבות באופן מלא
  • הדגשת תחביר
  • השלמת קוד

התקנת Google Cloud CLI

Google Cloud CLI היא קבוצת כלים ל- Google Cloud. הוא מכיל את כלי שורת הפקודה gcloud ו-bq שמשמשים לגישה ל-Compute Engine, ל-Cloud Storage, ל-BigQuery ולשירותים אחרים משורת הפקודה. אפשר להפעיל את הכלים האלה באופן אינטראקטיבי או בסקריפטים אוטומטיים.

התקנת ספריות לקוח של Cloud לשימוש ב-C++‎

ספריות הלקוח של Cloud ל-C++‎ הן הדרך המקובלת למפתחי C++‎ לשלב עם שירותיGoogle Cloud , כמו Spanner ו-Cloud Storage.

לדוגמה, כדי להתקין את החבילה של API ספציפי, כמו Cloud Storage API:

‫CMake עם vcpkg

  1. מוסיפים את google-cloud-cpp כתלות לקובץ vcpkg.json:

    {
        "name": "setup-cpp-vcpkg",
        "version-string": "unversioned",
        "description": "Setting up C++ for Google Cloud with CMake and vcpkg",
        "dependencies": [
            {"name": "google-cloud-cpp", "default-features": false, "features": ["storage"]}
        ]
    }
    
  2. עורכים את הקובץ CMakeLists.txt כדי לדרוש את הספרייה

    find_package(google_cloud_cpp_storage REQUIRED)
  3. הוספת התלות ליעדים

    target_link_libraries(hello_world PUBLIC google-cloud-cpp::storage)
  4. מגדירים את CMake באמצעות ערכת הכלים vcpkg. הפעולה הזו תוריד ותקמפל באופן אוטומטי את google-cloud-cpp ואת יחסי התלות שלו.

    cmake -S . -B [build directory] \
        -DCMAKE_TOOLCHAIN_FILE=[vcpkg location]/scripts/buildsystems/vcpkg.cmake
    

‫CMake עם Conda

  1. מתקינים את יחסי התלות באמצעות Conda:

    conda config --add channels conda-forge
    conda config --set channel_priority strict
    conda install -y -c conda-forge cmake ninja cxx-compiler google-cloud-cpp libgoogle-cloud
  2. עורכים את הקובץ CMakeLists.txt כדי לדרוש את הספרייה

    find_package(google_cloud_cpp_storage REQUIRED)
  3. הוספת התלות ליעדים

    target_link_libraries(hello_world PUBLIC google-cloud-cpp::storage)
  4. מגדירים את CMake בסביבת Conda.

    cmake -S . -B [build directory]
    

Bazel

  1. מוסיפים את הפקודה הבאה לקובץ WORKSPACE כדי להוריד את קוד המקור של ספריות הלקוח של הענן עבור C++‎:

    load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
    
    http_archive(
        name = "google_cloud_cpp",
        sha256 = "db69dd73ef4af8b2e816d80ded04950036d0e0dccc274f8c3d3ed1d7f5692a1b",
        strip_prefix = "google-cloud-cpp-2.32.0",
        url = "https://github.com/googleapis/google-cloud-cpp/archive/v2.32.0.tar.gz",
    )
  2. בקובץ WORKSPACE, קוראים לפונקציות Starlark כדי לטעון תלות רקורסיבית:

    load("@google_cloud_cpp//bazel:workspace0.bzl", "gl_cpp_workspace0")
    
    gl_cpp_workspace0()
    
    load("@google_cloud_cpp//bazel:workspace1.bzl", "gl_cpp_workspace1")
    
    gl_cpp_workspace1()
    
    load("@google_cloud_cpp//bazel:workspace2.bzl", "gl_cpp_workspace2")
    
    gl_cpp_workspace2()
    
    load("@google_cloud_cpp//bazel:workspace3.bzl", "gl_cpp_workspace3")
    
    gl_cpp_workspace3()
    
    load("@google_cloud_cpp//bazel:workspace4.bzl", "gl_cpp_workspace4")
    
    gl_cpp_workspace4()
    
    load("@google_cloud_cpp//bazel:workspace5.bzl", "gl_cpp_workspace5")
    
    gl_cpp_workspace5()
  3. בקובץ BUILD, משתמשים בספריית Cloud Storage:

    cc_binary(
        name = "hello_world",
        srcs = ["hello_world.cc"],
        deps = ["@google_cloud_cpp//:storage"],
    )

מגדירים אימות

כדי להשתמש בספריות הלקוח של Cloud בסביבת פיתוח מקומית, צריך להגדיר Application Default Credentials.

אם אתם משתמשים במעטפת מקומית, אתם צריכים ליצור פרטי כניסה לאימות מקומי עבור חשבון המשתמש:

gcloud auth application-default login

אם אתם משתמשים ב-Cloud Shell, אין צורך לבצע את הפעולה הזו.

אם מוחזרת שגיאת אימות ואתם משתמשים בספק זהויות חיצוני (IdP), ודאו ש נכנסתם ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.

מידע נוסף זמין במאמר אימות לצורך שימוש בספריות לקוח.

המאמרים הבאים