2017-09-03 41 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