如何通过命令行参数在Inno Setup IDE和ISCCISPP中传递定义?

更新于
2026-10-05 00:26:22
0阅读来源:SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计259个文字,预计阅读时间需要2分钟。

我想同时使用InnoIDE和ISCC+/ISPP,区别在于我想传递一个参数,它将覆盖脚本中的部分内容。

我想同时使用InnoIDE和ISCC / ISPP,区别在于我想传递一个参数,它会覆盖脚本中的#define.

在命令行中,我可以传递/ Dmyarg = myvalue.这与脚本中的“#define myarg myvalue”相同.

遗憾的是,该脚本优先于命令行值.我知道,正如我尝试的那样.我可以明显地在脚本中注释#define,命令行定义也可以,但是我将无法使用IDE来构建.

是否可以在项目的某个地方为InnoIDE设置#define,或者是否有一些方法可以让命令行#define优先?

在您的脚本中,执行以下操作:

#ifndef myarg # define myarg "mydefault" #endif

现在,如果您在IDE中编译或者如果使用命令行而未指定/ Dmyarg =“something”,那么它将使用脚本中指定的默认值.否则,如果您在命令行上指定了某些内容,那么它将使用它.

本文共计259个文字,预计阅读时间需要2分钟。

我想同时使用InnoIDE和ISCC+/ISPP,区别在于我想传递一个参数,它将覆盖脚本中的部分内容。

我想同时使用InnoIDE和ISCC / ISPP,区别在于我想传递一个参数,它会覆盖脚本中的#define.

在命令行中,我可以传递/ Dmyarg = myvalue.这与脚本中的“#define myarg myvalue”相同.

遗憾的是,该脚本优先于命令行值.我知道,正如我尝试的那样.我可以明显地在脚本中注释#define,命令行定义也可以,但是我将无法使用IDE来构建.

是否可以在项目的某个地方为InnoIDE设置#define,或者是否有一些方法可以让命令行#define优先?

在您的脚本中,执行以下操作:

#ifndef myarg # define myarg "mydefault" #endif

现在,如果您在IDE中编译或者如果使用命令行而未指定/ Dmyarg =“something”,那么它将使用脚本中指定的默认值.否则,如果您在命令行上指定了某些内容,那么它将使用它.