Objective c 词法或预处理器问题
我在归档项目时遇到了这两个错误Objective c 词法或预处理器问题,objective-c,ios,xcode,precompile,Objective C,Ios,Xcode,Precompile,我在归档项目时遇到了这两个错误 缺少宏名称 宏名称必须是标识符 知道发生了什么吗?锡罐上写着什么 第一个是#define,如果你有它自己的定义,它定义了什么?在#define后面需要一个标识符/名称,例如#define VARIABLE 第二个确实提供了某种名称,但它只是一个数字。标识符不能以数字开头(就像变量名不能那样)。因此不被归类为标识符。tin上的内容 第一个是#define,如果你有它自己的定义,它定义了什么?在#define后面需要一个标识符/名称,例如#define VARIA
- 缺少宏名称
- 宏名称必须是标识符
知道发生了什么吗?锡罐上写着什么 第一个是
#define
,如果你有它自己的定义,它定义了什么?在#define
后面需要一个标识符/名称,例如#define VARIABLE
第二个确实提供了某种名称,但它只是一个数字。标识符不能以数字开头(就像变量名不能那样)。因此不被归类为标识符。tin上的内容 第一个是
#define
,如果你有它自己的定义,它定义了什么?在#define
后面需要一个标识符/名称,例如#define VARIABLE
第二个确实提供了某种名称,但它只是一个数字。标识符不能以数字开头(就像变量名不能那样)。因此不被归类为标识符。您使用的是
宏
,而没有给出名称
。您必须使用#定义
,名称如下,并且必须为该宏
赋值
\define macroname macrovalue
第二个问题是,您不能在
宏中使用数字
,但您给出的是
#定义0 1
它应该像
#定义零1
您正在使用的宏
没有给出名称
。您必须使用#定义
,名称如下,并且必须为该宏
赋值
\define macroname macrovalue
第二个问题是,您不能在宏中使用数字
,但您给出的是
#定义0 1
它应该类似于定义零1。如果使用0作为宏的名称,则数字对于任何变量、函数或宏都不是有效的名称。所有标识符必须以字母(或):)开头。如果使用0作为宏的名称,则对于任何变量、函数或宏,数字都不是有效的名称。所有标识符都必须以字母(或):)开头。我在构建设置中尝试定义预处理器宏时遇到了相同的错误,如下所示
Preprocessor Macros
DEBUG=1 MY_MACRO = 1
因此,解析器不喜欢空格,即MY_MACRO=1我在构建设置中尝试定义预处理器宏时遇到了相同的错误,如下所示
Preprocessor Macros
DEBUG=1 MY_MACRO = 1
因此,解析器不喜欢空格,即MY_MACRO=1您不必给出宏值。您可以轻松地使用一个不带值的#define NAME
,并以#ifdef NAME
的形式使用它,您不必给出宏值。您可以轻松地使用一个没有值的#define NAME
,并以#ifdef NAME
的形式使用它。我在项目中检查了两次所有的定义。但一切都是正确的…非常有趣。这个错误来自于一个令人困惑的事实。你的.pch(失败的文件)的内容是什么?可能值得做一个干净的构建,关闭/重新打开Xcode,只是为了确保它不是一个“小故障”,没什么特别的。已经清理项目并重新启动Xcode和mac数次。存档项目时出现此错误。这是我给初学者的预处理设置,那些预处理宏都是废话DEBUG=0
仍然意味着仍然定义了DEBUG
,这通常是它们的使用方式(#ifdef DEBUG…
)。相反,它们应该包括DEBUG
或不包含任何内容。所以对于调试构建,使用Debug
,发布时不使用任何东西。例如,请参见通过删除此属性“all is gone and project get ready to release”),我检查了两次项目中的所有定义。但一切都是正确的…非常有趣。这个错误来自于一个令人困惑的事实。你的.pch(失败的文件)的内容是什么?可能值得做一个干净的构建,关闭/重新打开Xcode,只是为了确保它不是一个“小故障”,没什么特别的。已经清理项目并重新启动Xcode和mac数次。存档项目时出现此错误。这是我给初学者的预处理设置,那些预处理宏都是废话DEBUG=0
仍然意味着仍然定义了DEBUG
,这通常是它们的使用方式(#ifdef DEBUG…
)。相反,它们应该包括DEBUG
或不包含任何内容。所以对于调试构建,使用Debug
,发布时不使用任何东西。例如,请参阅通过删除此属性“所有内容都已消失”和“项目准备发布”)否。。。我的定义是正确的。都是从字母或“uu”开始的不。。。我的定义是正确的。所有问题都从字母或“u”开始解决。。。这是调试定义中的奇怪错误。。。问题解决了。。。这里是调试定义的奇怪错误…这是有用的信息!还记得检查调试和发布宏…我的问题只是在发布配置中,所以很难找到!这是有用的信息!还记得检查调试和发布宏…我的问题只是在发布配置中,所以很难找到!