预处理器定义变得混乱。 int定义重新定义?

时间:2009-10-14 13:19:46

标签: c++ visual-studio-2005 c-preprocessor

我正在尝试添加预处理器定义,以便仅在某个项目构建时定义值,然后它变为未定义。我已进入我的项目属性 - >预处理器 - >预处理器定义。在这里,我键入了#define PROJECTNAME_EXPORT,希望我可以在整个项目中调用#ifdef PROJECTNAME_EXPORT来在构建时交换一个值(在dllexport和dllimport之间)。

然而,当我点击确定时,看起来像visual studio在我的定义之前添加了双引号。当我尝试构建时,我得到了100多个错误,大多数都是“非法转义序列”。其他值得注意的是“int define:redefinition”,“int MYPROJECT_EXPORT重新定义”等等。我做错了吗?

1 个答案:

答案 0 :(得分:4)

您未在定义中包含“#define”。只是符号的名称,以及可选的值,如下所示:

PROJECTNAME_EXPORT=coolness

将您在此处输入的定义纳入IDE的方法是,它们将使用/D option传递给编译器,因此语法应该接近。不需要包含#define语法,因为这些定义不是在C源中传递给编译器/预处理器,而是通过不同的机制。