iOS duplicate symbol 变量 in 类名 报错

Posted 韦韦韦

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS duplicate symbol 变量 in 类名 报错相关的知识,希望对你有一定的参考价值。

该错误信息是我在一个.h文件里申明了公共变量,然后在其他类里重复使用。

Build Settings ->No Common Blocks默认为YES,编译器就报错了,需要修改Build Settings里的No Common Blocks为NO。

 

NO Common Blocks 是什么?

 官方的解释是:

    In C, allocate even uninitialized global variables in the data section of the object file, rather than generating them as common blocks. This has the effect that if the same variable is declared (without extern ) in two different compilations, you will get an error when you link them. The only reason this might be useful is if you wish to verify that the program will work on other systems which always work this way.

    在C语言中,在目标文件的数据段分配甚至未初始化的全局变量,而不是生成它们作为公共块。这样做,如果同一个变量被声明(没有extern)放在两个不同的汇编,你会当你将它们链接得到一个错误的影响。这可能是有用的唯一原因是,如果你想验证程序将在其他系统上,它总是以这种方式工作工作。

以上是关于iOS duplicate symbol 变量 in 类名 报错的主要内容,如果未能解决你的问题,请参考以下文章

iOS制作静态包duplicate symbol解决办法

iOS开发报duplicate symbols for architecture x86_64错误的问题

ios-ld: 1 duplicate symbol for architecture arm64报错处理

iOS开发之duplicate symbols for architecture x86_64错误

iOS之duplicate symbols for architecture x86_64错误

"duplicate symbol for architecture i386" 解决的方法