代码之家  ›  专栏  ›  技术社区  ›  user189327

预处理器定义乱成一团。int定义重新定义?

  •  0
  • user189327  · 技术社区  · 15 年前

    我试图添加一个预处理器定义,这样一个值只有在某个项目正在构建时才被定义,然后它就变为未定义的。我已经进入了我的项目属性->预处理器->预处理器定义。在这里,我打字 #define PROJECTNAME_EXPORT 希望我能打电话给 #ifdef PROJECTNAME_EXPORT 在整个项目中,在构建时交换一个值(在dllexport和dllimport之间)。

    但是,当我点击OK时,看起来Visual Studio在定义之前添加了一个双引号。当我尝试构建时,我会得到100多个错误,大多数都是说“非法的转义序列”。其他需要注意的是“int-define:重定义”、“int-myproject-export-redefinition”等。我做错什么了吗?

    1 回复  |  直到 9 年前
        1
  •  4
  •   unwind    15 年前

    您不包括“ #define “在定义中。只是符号的名称,以及可选的值,如:

    PROJECTNAME_EXPORT=coolness
    

    考虑您在这里输入到IDE中的定义的方法是,使用 /D option ,所以语法应该很接近。不需要包括 α定义 语法,因为这些定义不是在C源代码中交给编译器/预处理器,而是通过不同的机制。