我想同时使用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/