command-line-arguments - Inno Setup IDE和ISCC/ISPP传递定义

标签 command-line-arguments inno-setup

我想同时使用InnoIDE和ISCC/ISPP,不同之处在于我想传递一个参数,该参数将覆盖脚本中的#define。

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

可悲的是,脚本优先于命令行值。我知道,就像我尝试过的那样。我显然可以注释掉脚本中的#define,并且命令行定义将起作用,但是随后我将无法使用IDE进行构建。

是否可以在InnoIDE中为项目的某个位置设置#define,或者是否可以通过某些方法使命令行#define优先?

最佳答案

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

#ifndef myarg
# define myarg "mydefault"
#endif

现在,如果您在IDE中进行编译,或者在未指定/Dmyarg =“something”的情况下使用命令行,则它将使用脚本中指定的默认值。否则,如果您确实在命令行上指定了某些内容,则它将使用该内容。

关于command-line-arguments - Inno Setup IDE和ISCC/ISPP传递定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13423317/

相关文章:

使用 Netbeans 的 C 程序中的命令行参数

java - -J-XX 是什么意思?出现在java命令行

java - 如何为给定的每个命令行参数执行一段代码,但将其打印在一行中

bash - 使用getopts处理长和短命令行选项

scripting - Inno Setup - 文件复制

inno-setup - 运行时错误(InnoSetup 位于 -1 :0): Cannot import ISSkin. dll

inno-setup - Inno Setup - 在代码部分创建目录

go - 隐藏标志中的选项

inno-setup - 查找所有应用程序文件夹并在 Inno Setup 中安装文件

installation - 如何在 Inno Setup Scripts 中将字符串版本值转换为数值?