【问题标题】:how do I add preprocessor #define in devenv command line?如何在 devenv 命令行中添加预处理器#define?
【发布时间】:2010-12-19 11:35:14
【问题描述】:

有没有办法在 devenv 命令行中添加额外的预处理器#define?

【问题讨论】:

  • 不,这是无效的语法 - 它显示 devenv 帮助

标签: preprocessor devenv


【解决方案1】:

我不完全确定您所说的 vcbuild 命令行是什么意思,但如果您指的是 Visual C++ 命令行编译器,那么您可以通过 add /Dxxxx 添加定义,例如

cl.exe /DSHAREWARE ....

基于 cmets 的附加答案:

您应该能够使用额外的预处理器定义来设置 CL 环境变量:

SET CL=/DSHAREWARE
devenv ....

更多信息可以在MSDN找到

【讨论】:

  • 我想到的是 devenv.exe。 cl 只编译 IIRC。 devenv 也进行链接。
  • 效果很好 - 我刚刚在其他地方找到了相同的答案。还是谢谢!
  • 好吧,那么你应该接受这个答案,这样其他人就可以看到这个问题已经解决了......
【解决方案2】:

#defines 在您的 Visual Studio 项目文件(.dsp 或 .vcproj 文件)中定义。这是一个简单的文本文件。因此,您可以从脚本编辑项目文件,然后调用 devenv.exe。

【讨论】:

    【解决方案3】:

    就我而言,出于其他原因,我需要使用 devenv,(并且在 cygwin 中运行,所以我使用了 sed)。

    我在项目的属性SED_REPLACE_THIS中设置了一个编译符号 然后使用 sed 将其设置为有意义的东西(即:DONT_CRASH_AS_MUCH

    sed -i 's/SED_REPLACE_THIS/DONT_CRASH_AS_MUCH/g' project.csproj

    【讨论】:

      【解决方案4】:

      在您的项目设置中,添加以下预处理器定义:

      $(MyPreprocessorDefinitions);

      然后在你的 *.bat 文件中,使用

      REM #define MY_DEF

      设置 MyPreprocessorDefinitions=MY_DEF

      devenv.exe ...

      REM #undefine MY_DEF

      设置 MyPreprocessorDefinitions=

      【讨论】:

        猜你喜欢
        • 2010-09-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-08-18
        • 2020-06-17
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多