有没有办法在 devenv 命令行中添加额外的预处理器#define?
4 回答
我不完全确定您所说的 vcbuild 命令行是什么意思,但如果您指的是 Visual C++ 命令行编译器,那么您可以通过 add /Dxxxx 添加定义,例如
cl.exe /DSHAREWARE ....
基于评论的附加答案:
您应该能够使用额外的预处理器定义设置 CL 环境变量:
SET CL=/DSHAREWARE
devenv ....
仅可在MSDN上找到信息
在您的项目设置中,添加以下预处理器定义:
$(MyPreprocessorDefinitions);
然后在你的 *.bat 文件中,使用
REM #define MY_DEF
设置 MyPreprocessorDefinitions=MY_DEF
devenv.exe ...
REM #undefine MY_DEF
设置 MyPreprocessorDefinitions=
#defines 在您的 Visual Studio 项目文件(.dsp 或 .vcproj 文件)中定义。这是一个简单的文本文件。因此,您可以从脚本编辑项目文件,然后调用 devenv.exe。
就我而言,出于其他原因,我需要使用 devenv,(并且在 cygwin 中运行,所以我使用了 sed)。
我在项目的属性中设置了一个编译符号,SED_REPLACE_THIS
然后使用 sed 将其设置为有意义的东西(即DONT_CRASH_AS_MUCH
:)
sed -i 's/SED_REPLACE_THIS/DONT_CRASH_AS_MUCH/g' project.csproj