使用 VS 宏设置预处理器定义

Using a VS Macro for setting PreprocessorDefinitions

本文关键字:处理器 定义 预处理 设置 VS 使用      更新时间:2023-10-16

所以我想通过使用Visual Studio宏来设置处理器定义,如下所示:

<PreprocessorDefinitions>$(ProjectName)_DEFINE</PreprocessorDefinitions>

所以我可以在这样的 src 文件中使用它:

#ifdef MyProjectName_DEFINE
#define helloWorld
#endif

除了带有/D 参数的内容外,我在 Web 上找不到任何东西,所以我尝试了:/D$(ProjectName)_EXPORT但它仍然不起作用:(

谢谢!

设置PreprocessorDefinitions和使用/D选项都应该可以正常工作,但很难说为什么它们不适合您的情况。可能您正在为与您正在使用的构建配置不同的构建配置设置选项,或者您在某处有拼写错误。

例如:右键单击 VS 中的项目,选择正确的配置平台,然后转到属性->C/C++->预处理器并输入

%(PreProcessorDefinitions);$(ProjectName)_DEFINED

作为预处理器定义的

现在,如果您的项目名为 MyProject,则将定义预处理器符号MyProject_DEFINED。请注意使用 %(PreProcessorDefinitions) 这是为了确保继承在生成过程中早期设置的定义。如果在文本编辑器中打开项目,它将如下所示(此处显示 Debug|Win32 版本):

<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
  <ClCompile>
    <PreProcessorDefinitions>%(PreProcessorDefinitions);$(ProjectName)_DEFINED</PreProcessorDefinitions>
  </ClCompile>
</ItemDefinitionGroup>

如果您需要每个平台/配置的定义,请复制/粘贴上述内容并删除Condition部分。