Nsis 看不到环境变量

Nsis doesn't see environment variables

这是 os nsis 脚本 (.nsi) 部分:

!ifndef QTDIR
  !error "Please define QT installation directory via /DQTDIR=C:\qt.8.4"
!endif

但是执行这条命令后:

set QTDIR=C:\path\to\qt

错误依旧。两台电脑结果一样,都是windows 7. Nsis版本是2.46。

!ifdef!ifndef 在编译器进程内部对定义进行操作。您可以使用 !define 在脚本中设置一个或使用 -D MakeNSIS 命令行参数。

MakeNSIS 还可以读取 Windows 环境变量:!echo "The value of QTDIR is $%QTDIR%".

您也可以同时支持:

!ifndef QTDIR
!define QTDIR "$%QTDIR%"
!endif
!if ! /fileexists "${QTDIR}"
!error "QTDIR not valid"
!endif