如果设置了标志,我只会使用一些代码。所以我得到了警告
Variable "test" not referenced or never set, wasting memory!
所以我使用预处理器命令
!if ${Flag} == 1
Var test
!endif
但是我仍然收到警告
unknown variable/constant "test" detected, ignoring (macro:_==:1)
那么为什么我仍然会收到警告,以及如何禁用该警告:
也许我可以使用!pragma
禁用警告。但这仅适用于nsis3
。我在nsis2
可以做什么?
答案 0 :(得分:1)
您最有可能在webapi
附近弄乱了!if
的警卫。
$test
如果您从未在!define Flag 1
!if ${Flag} == 1
Var test
!endif
/ Variable "test" not referenced or never set, wasting memory!
中访问$test
,则会打印Section
。
另一方面
Function
如果代码未先执行Section
${If} $test == "something"
${EndIf}
SectionEnd
,将打印unknown variable/constant "test" detected, ignoring (macro:_==:1)
。
最后
Var test
由于某些原因也会打印Var test
Section
${If} $test == "something"
${EndIf}
SectionEnd
,但是如果您实际上在代码中的某个地方为Variable "test" not referenced or never set, wasting memory!
分配了内容,则警告消失了。
$test