web-dev-qa-db-fra.com

Comment activer C ++ 17 dans Xcode pour Mac OSX?

Comment activer C++ 17 dans Xcode (9.4.1) sur OSX High Sierra (10.13.5)?

11
claytonjwong

Étapes pour utiliser C++ 17 dans Xcode (9.4.1) sur OSX High Sierra (10.13.5):

  1. Ouvrir un projet C++ existant ou créer dans Xcode
  2. Cliquez sur le bouton "afficher le navigateur du projet". Il est situé dans la section supérieure gauche de la fenêtre Xcode juste en dessous des boutons de la fenêtre de minimisation/maximisation/fermeture. Il s'agit de l'icône la plus à gauche et ressemble à un dossier.
  3. Cliquez sur "Build Settings" et faites défiler vers le bas pour trouver et développer la section "Apple LLVM 9.0 - Language - C++"
  4. Modifiez la sélection de la zone de liste déroulante Dialecte du langage C++ en "C++ 17 [-std = c ++ 17]"

Xcode Build Settings

Étapes de vérification:

Maintenant, lorsque je génère __cplusplus, je vois 201703 et je peux compiler des fonctionnalités C++ 17, comme si constexpr.

template<class T>
int compute(T x) {
    if constexpr( supportsAPI(T{}) ) {
        // only gets compiled if the condition is true
        return x.Method();
    } else {
        return 0;
    }
}

int main(){
    cout << __cplusplus << endl;
    return 0;
}

Sortie:

201703
Program ended with exit code: 0
16
claytonjwong