C++ 用于在Visual Studio中使用整个项目或解决方案的参数定义预处理器宏的选项

C++ 用于在Visual Studio中使用整个项目或解决方案的参数定义预处理器宏的选项,c++,visual-studio,macros,c-preprocessor,C++,Visual Studio,Macros,C Preprocessor,我希望在项目中的所有文件中都有一些具有参数的宏,或者更好地说是一个完整的解决方案。在VS2010中,如果我将它们添加到properties->Configuration properties->C/C++->Preprocessor中的预处理器定义中,使用 SQUARE(x)=((x)*(x));CUBE(x)=(SQUARE(x)*x); 编译器不使用宏定义。但是,这种方法可能很接近,因为当我将鼠标悬停在源代码中的宏上时,IntelliSense提供了正确的定义 有没有一种方法可以定义宏并

我希望在项目中的所有文件中都有一些具有参数的宏,或者更好地说是一个完整的解决方案。在VS2010中,如果我将它们添加到properties->Configuration properties->C/C++->Preprocessor中的预处理器定义中,使用

SQUARE(x)=((x)*(x));CUBE(x)=(SQUARE(x)*x); 
编译器不使用宏定义。但是,这种方法可能很接近,因为当我将鼠标悬停在源代码中的宏上时,IntelliSense提供了正确的定义

有没有一种方法可以定义宏并使它们可见,而不必在每个文件中都包含带有宏定义的标题


谢谢你的建议

将宏放在文件中,并使用/FI选项自动将其包含到所有文件中:

语法:/FI[]路径名


/FI选项的效果与将文件包含在每个源文件的顶部相同。

我认为在项目属性中,您只能定义预处理器变量,而不能定义函数(仅定义允许的内容)。要使预处理功能可用于整个项目,而无需在任何地方都包含标题,您可以在“stdafx.h”中包含标题,该标题通常已包含在所有.cpp文件中。请按照您希望使用的语言使用标题。你以后会感谢你自己的。(或者下一个开发人员无论如何都会…)源代码可能需要一个很好的清理。事实上,我希望在整个项目中显示的宏在构建过程中一起输出“FIXMEs”,这些宏具有格式化的文件名和行号,以便可以单击它们以找到问题的正确位置。有很多文件,比如数百个。这也应该得到解决,但一次只能解决一件事。目前,将宏添加到头文件中,并将该头文件包含在每个头文件和源文件中,这将是一项破坏性且耗时的工作。目前还没有通用标题可以放在那里。谢谢!/FI选项正是我想要的。