让我说我有一个Inno安装文件(让我们称之为master.iss
),文件部分如下:
[Files]
#include PathToIncludeFile\IncludeFile.iss
美丽而精致。 IncludeFile.iss
的内容有效地插入到master.iss
存在的#include
文件中。
所以现在我希望#include
文件的内容嵌套在更多包含中。所以IncludeFile.iss
看起来像这样:
#include C:\PathToFile\FileWithRealFilesDataForProject1.iss
#include C:\PathToFile\FileWithRealFilesDataForProject2.iss
#include C:\PathToFile\FileWithRealFilesDataForProject3.iss
#include C:\PathToFile\FileWithRealFilesDataForProject4.iss
#include C:\PathToFile\FileWithRealFilesDataForProject5.iss
#include C:\PathToFile\FileWithRealFilesDataForProject6.iss
Inno Setup编译Master.iss
的编译器会说
(文件:PathToIncludeFile \ IncludeFile.iss \ n第1行:\ n第11列:) [ISSP]未声明的标识符C"
我想我可以用批处理文件或其他东西实现我想要的东西,但是如果我能用嵌套的#include
来做这件事就会更直接。
BTW:我目前的Inno Setup Compiler是5.5.6(u)
答案 0 :(得分:1)
您可以嵌套包含文件。
您的问题是,在Inno Setup预处理器中,字符串文字必须用双引号(或单引号)括起来,如:
adsLoaded
当省略引号时,预处理器会尝试将#include "C:\PathToFile\FileWithRealFilesDataForProject1.iss"
参数解释为表达式。因此,它将#include
(前导字母数字序列)视为标识符。
请参阅Inno Setup预处理器文档中的以下主题:
出于同样的原因,你的主要包括,你在帖子中的方式,也不会编译。你必须用双引号括起来。
为此:
C
我正在
[ISPP]未声明的标识符:“PathToIncludeFile”。
(如预期的那样)