如何在 Visual Studio 中指定预处理器选项

How to specify preprocessor options in Visual Studio

本文关键字:预处理 处理器 选项 Visual Studio      更新时间:2023-10-16

在带有g++的Linux上,我使用-DPROGRAMNAME_VERSION=1.6-DEIGEN_NO_DEBUG分别正确设置一些文本并提高执行速度。 我正在Windows上进行一些测试,并且在使用VS 2013复制可执行文件时遇到问题。我搜索了SO,找到了属性->C/C++->预处理器->预处理器定义的建议。 这与 https://msdn.microsoft.com/en-us/library/hhzbb5c8.aspx 在这里找到的Microsoft文档一致。 问题是当我尝试使用它时

/DEIGEN_NO_DEBUG
/DPROGRAMNAME_VERSION=1.6

日志文件显示版本 1.00 的默认值,执行时间是预期时间的两倍。/DEIGEN_NO_DEBUG用于C++特征,而另一个用于:

#ifndef PROGRAMNAME_VERSION
#define PROGRAMNAME_VERSION 1.00
#endif

两者都已经过测试并在Linux上运行。 关于SO的答案已被接受,这让我认为我缺少一些小技巧来完成这项工作。

Praetorian 给出了正确的答案。 Visual Studio不使用g++等使用的相同/D或-D。 它为您插入。 正确的用法如他的评论所示。

我猜你把/DPROGRAMNAME_VERSION=1.6 放到设置中,而不是 PROGRAMNAME_VERSION=1.6。MS 生成将在调用编译器时插入/D。– 禁卫军