我正在尝试添加预处理器定义,以便仅在某个项目构建时定义值,然后它变为未定义。我已进入我的项目属性 - >预处理器 - >预处理器定义。在这里,我键入了#define PROJECTNAME_EXPORT
,希望我可以在整个项目中调用#ifdef PROJECTNAME_EXPORT
来在构建时交换一个值(在dllexport和dllimport之间)。
然而,当我点击确定时,看起来像visual studio在我的定义之前添加了双引号。当我尝试构建时,我得到了100多个错误,大多数都是“非法转义序列”。其他值得注意的是“int define:redefinition”,“int MYPROJECT_EXPORT重新定义”等等。我做错了吗?
答案 0 :(得分:4)
您未在定义中包含“#define
”。只是符号的名称,以及可选的值,如下所示:
PROJECTNAME_EXPORT=coolness
将您在此处输入的定义纳入IDE的方法是,它们将使用/D option传递给编译器,因此语法应该接近。不需要包含#define
语法,因为这些定义不是在C源中传递给编译器/预处理器,而是通过不同的机制。