Inno Setup:如何在#error 指令消息中扩展预处理器变量

xto*_*ofl 4 preprocessor inno-setup

我有一个 Inno Setup 脚本,它查找文件作为预处理器步骤:

#define a_path GetEnv("INSTALLER_FILES")
#define install_file FindFirst(a_path + "\pattern*.*")
Run Code Online (Sandbox Code Playgroud)

install_file找不到时,我想发出一个错误:

#if install_file == 0
    #error No installer found at {#a_path}
#endif
Run Code Online (Sandbox Code Playgroud)

但是 ISPP 只在编译时写入文字源代码行:

script.iss: [ISPP] 在 {#a_path} 找不到安装程序

是否可以在#error指令中扩展预处理器变量?

Mar*_*ryl 5

#error指令的参数不能包含变量。

但是您可以改用该#pragma error指令

#pragma error "No installer found at " + a_path
Run Code Online (Sandbox Code Playgroud)