2018-05-17 OC与C语言混编遇到的问题

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)
具体错误截图如下所示:


2018-05-17 OC与C语言混编遇到的问题_第1张图片
image.png

问题是,这里面提到的是符号重复定义,但是这两个文件名称完全不一样啊!!!
我试着删除一个文件,冲突消失。
然后我试着注释代码。注释着,我发现:
我发现在@implement中里面,方法外面声明的变量,这个变量实在整个项目中都是有作用域。
所以放在@implement与@end之间,方法之外的变量,在整个项目中都是有范围可见的。

那么,C语言的变量应该怎么声明呢?

@interface ViewController (){
    int a[10000][10];
}
@property (nonatomic,strong) UITextView * inputView;
@property (nonatomic,strong) UITextView * outPutView;
@end

采取这样的声明即可。

你可能感兴趣的:(2018-05-17 OC与C语言混编遇到的问题)