如何在 Visual Studio 中指定预处理器选项
How to specify preprocessor options in Visual Studio
在带有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。– 禁卫军
相关文章:
- 错误:无效的预处理指令 #i 的意思是 #if?
- C++预处理会生成变量成员、资源库和映射
- 使用预处理指令检查是否包含标头?
- 预处理的 C/C++ 文件是否特定于计算机?
- 使用 GCC 对 C 文件进行部分预处理(不删除 "define" 指令)
- 在 CPLEX 中求解线性规划,无需剪切和预处理
- CPP -D 选项,用于预处理 Fortran 代码
- 错误:粘贴"tmp_UINT"和"+"未提供有效的预处理令牌
- 任务计划程序库的预处理不起作用 - 多定义错误
- Eclipse 问题 - 编译期间不考虑 .c 和 .cpp 文件中定义的预处理
- 使用python预处理后,C++(opencv)中的垫子类型数据与image_to_array相同
- Howo 使用 cl 预处理为 masm 组装生成一个单独的文件
- 我有一个预处理的 C/C++ 源文件 (cacti.i).如何从这个 .i 文件生成可执行二进制文件,以便我可以像 ./
- 如何使用Visual Studio C/C++编译器(cl.exe)来预处理我的objective-C代码
- 是具有预处理前分支实现的结构违反ODR
- 与不完整的Cholesky预处理的共轭梯度返回特征库的意外错误
- Visual Studio C - 无法输出预处理文件
- 在海湾合作委员会中加快宏观预处理的任何方法
- Xmllint未设置,而在路径中找不到XMLLINT;跳过XML预处理
- 当头文件被预处理时是否有一个预处理器选项显示?