2017-09-03 4 views
-1

donc j'utilise une solution pour plusieurs produits et j'ai besoin de créer un système d'identification de produit pour savoir quel produit les gens utilisent.Visual Studio #ifdef #elif pour l'ID de produit

Voici ma tentative:

#ifdef _WIN64 
      #if defined(_DEBUG) 
        #if defined(PFW_APP_D3D_TEST) 
         #define PFW_PRODUCT_ID 1 
        #elif defined(PFW_APP_LOADER) 
         #define PFW_PRODUCT_ID 24 
        #endif 
      #else 
        #if defined(PFW_APP_D3D_TEST) 
         #define PFW_PRODUCT_ID 25 
        #elif defined(PFW_APP_LOADER) 
         #define PFW_PRODUCT_ID 48 
         //Then some nested #if here 
        #endif 
      #endif 
    #else 
      #if defined(_DEBUG) 
        #if defined(PFW_APP_D3D_TEST) 
         #define PFW_PRODUCT_ID 49 
        #elif defined(PFW_APP_LOADER) 
         #define PFW_PRODUCT_ID 72 
        #endif 

      #else 
        #if defined(PFW_APP_D3D_TEST) 
         #define PFW_PRODUCT_ID 73 
        #elif defined(PFW_APP_LOADER) 
         #define PFW_PRODUCT_ID 96 
        #endif 

      #endif 
    #endif 

mais il ne compile pas D: (aucune idée de comment utiliser correctement ce système #

Proof of error

donc ma question est, comment je corrige l'erreur de syntaxe et y-a-t-il un moyen automatisé que je peux générer des identifiants de produit?

+0

code postal sous forme de texte (bloc de code), et non comme une capture d'écran. Et nous avons besoin d'un code complet, car l'erreur se réfère à "fin de fichier". –

+0

c'est juste l'erreur de syntaxe, c'était visible dans la capture d'écran, j'ai posté du code maintenant. – BingBang32

Répondre

0

problème résolu ...

changé de

  #elif defined(PFW_APP_BF1) 
       #if defined(PFW_GAME_BF4) 
        #define PFW_PRODUCT_ID 51 
       #elif defined(PFW_GAME_BF1) 
        #define PFW_PRODUCT_ID 52 

à

  #elif defined(PFW_APP_BF1) 
       #elif defined(PFW_GAME_BF4) 
        #define PFW_PRODUCT_ID 51 
       #elif defined(PFW_GAME_BF1) 
        #define PFW_PRODUCT_ID 52 

mais triste que je ne pouvais pas utiliser #if: D