在使用g ++的Linux上,我使用-DPROGRAMNAME_VERSION=1.6
和-DEIGEN_NO_DEBUG
来正确设置一些文本并分别提高执行速度。我正在Windows上进行一些测试,并且无法在VS 2013中复制可执行文件。我搜索了一下,发现了有关Properties-> C/C++ - > Preprocessor-> Preprocessor Definitions的建议。这与微软在这里找到的文档https://msdn.microsoft.com/en-us/library/hhzbb5c8.aspx一致。问题是,当我尝试用如何在Visual Studio中指定预处理器选项
/DEIGEN_NO_DEBUG
/DPROGRAMNAME_VERSION=1.6
做日志文件显示的1.00版本的默认值和执行时间是两倍的预期时间。 该/DEIGEN_NO_DEBUG
用于C++征而另一个被用作这样:
#ifndef PROGRAMNAME_VERSION
#define PROGRAMNAME_VERSION 1.00
#endif
两个已经过测试并工作在Linux。 SO上的答案已被接受,这让我认为我错过了一些小技巧来完成这项工作。
我猜你把'/ DPROGRAMNAME_VERSION = 1.6'放入设置而不是'PROGRAMNAME_VERSION = 1.6'。 MS构建会在调用编译器时为你插入'/ D'。 – Praetorian
从1990年开始,'cl'的版本已经接受'-'和'/'。但我认为这个问题是关于使用IDE来设置这些东西 - 这绝对是可能的,但我至少已经过了6年,所以无法确定当前的IDE选项是什么 - 就像“预处理器选项“,我期望。 –
@Praetorian你是对的我在里面包含/ D。我试着用/和 - 并且只用了一个领先的D.我从来没有想过我需要完全删除D.谢谢您的帮助。 – Matt