2017-09-03 45 views
-1

因此,我爲多種產品使用1個解決方案,並且需要製作某種'產品ID系統',因此我知道人們正在使用哪種產品。Visual Studio #ifdef #elif產品ID的

這裏是我的嘗試:

#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 

,但它不會編譯d:(不知道如何正確使用該系統#

Proof of error

所以我的問題是,如何能我修復了語法錯誤,並且有沒有自動化的方式可以生成產品ID?

+0

郵編爲文本(代碼塊),而不是作爲一個屏幕截圖。我們需要一個完整的代碼,因爲錯誤指的是「文件結束」。 –

+0

這只是語法錯誤,它在截圖中可見,我現在發佈了一些代碼。 – BingBang32

回答

0

問題修復了...

  #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 

,但可悲的是我不能使用的#if:d