2018-05-17 OC与C语言混编遇到的问题
2018-05-17 本文已影响13人
幸福晓杰2016
Showing All Errors Only
ld: 1 duplicate symbol for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
具体错误截图如下所示:
image.png
问题是,这里面提到的是符号重复定义,但是这两个文件名称完全不一样啊!!!
我试着删除一个文件,冲突消失。
然后我试着注释代码。注释着,我发现:
我发现在@implement中里面,方法外面声明的变量,这个变量实在整个项目中都是有作用域。
所以放在@implement与@end之间,方法之外的变量,在整个项目中都是有范围可见的。
那么,C语言的变量应该怎么声明呢?
@interface ViewController (){
int a[10000][10];
}
@property (nonatomic,strong) UITextView * inputView;
@property (nonatomic,strong) UITextView * outPutView;
@end
采取这样的声明即可。