首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NSIS基本知识出错

NSIS基本知识出错
EN

Stack Overflow用户
提问于 2015-01-23 12:10:29
回答 1查看 55关注 0票数 1

这是一个非常基本的问题,但我似乎找不到我做错了什么。

因此,我在曲解NSIS中的定义,它并没有像我预期的那样起作用,所以我已经将问题缩小到最小的部分,而且我仍然无法使它像我所期望的那样工作。

脚本如下:

代码语言:javascript
复制
!ifndef b
!define b ""
!endif

!if $b=="b"
!define a "b"
!else
!define a "c"
!endif

Section
    MessageBox MB_OK "a: ${a} b: ${b}"
SectionEnd

我使用标志/Db=b运行它。

产出仍然是:

代码语言:javascript
复制
a: "c" b: "b"

我错过了一些琐碎的东西!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-01-23 12:41:50

B是一个定义,而不是一个变量:

代码语言:javascript
复制
!ifndef b
!define b ""
!endif

!if "${b}" == "b"    # <-- Modify this line.
!define a "b"
!else
!define a "c"
!endif

Section
    MessageBox MB_OK "a: ${a} b: ${b}"
SectionEnd

此外,我建议您在使用if时引用所有内容,因为如果定义(或变量值)为空,则会出现错误。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28109626

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档