iOS 由于枚举类型导致的1 duplicate symbol for architecture x86_64错误
2016-04-01 17:13
549 查看
原文链接:http://www.jianshu.com/p/2b79e450d67e
错误如下:
这个问题比较奇葩的地方在于,用
罪魁祸首是用了一个 C 语言的枚举类型定义方式
改成Objtctive-C 的枚举类型样式就可以了
其实在C 语言的样式前面直接加上 typedef 也可以,不过不建议这么做,还是乖乖按照 OC 的定义方式来吧。
文/midmirror(简书作者)
原文链接:http://www.jianshu.com/p/2b79e450d67e
著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。
错误如下:
duplicate symbol _iphoneType in: /Users/midmirror/Library/Developer/Xcode/DerivedData/PRTPrinter-eixyioynyswgruahtmzninftkbmm/Build/Intermediates/PRTPrinter.build/Debug-iphonesimulator/PRTPrinter.build/Objects-normal/x86_64/PRTScreenFit.o /Users/midmirror/Library/Developer/Xcode/DerivedData/PRTPrinter-eixyioynyswgruahtmzninftkbmm/Build/Intermediates/PRTPrinter.build/Debug-iphonesimulator/PRTPrinter.build/Objects-normal/x86_64/PRTHomeVC.o ld: 1 duplicate symbol for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation)
这个问题比较奇葩的地方在于,用
真机是可以编译成功执行的,但是
用模拟器就不能编译通过。google 了半天也没找到方法。特此记录。
罪魁祸首是用了一个 C 语言的枚举类型定义方式
// 错误 enum iphoneType{ iphone4s = 320*480, iphone5s = 320*568, iphone6 = 375*667, iphone6p = 414*736, iPad = 1024*768 }iphoneType;
改成Objtctive-C 的枚举类型样式就可以了
// 正确 typedef NS_ENUM(NSInteger, iphoneType) { iphone4s = 320*480, iphone5s = 320*568, iphone6 = 375*667, iphone6p = 414*736, iPad = 1024*768 };
其实在C 语言的样式前面直接加上 typedef 也可以,不过不建议这么做,还是乖乖按照 OC 的定义方式来吧。
文/midmirror(简书作者)
原文链接:http://www.jianshu.com/p/2b79e450d67e
著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。
相关文章推荐
- iOS崩溃日志符号化
- iOS 判定string是不是中文字符
- iOS拍照和录制视频 摄像头使用
- iOS 中scrollView整个页面滑动自动居中
- 关于iOS开发中info.plist文件的解读
- iOS常用的第三方库GitHub地址
- iOS之CoreGraphics使用(1)
- 检查iOS项目中是否使用了IDFA
- ios学习--正则表达式初探
- ios 不通过import 调用其他控制器的方法
- ios8新特性widget开发(手机上和通知栏并列的今天的制作)
- 两对象的关联
- iOS 删除stroryboard
- iOS开发学习之 - 高度自适应之计算文字高度
- ios 二维码、条形码扫描
- IOS各种开发者帐号和发布类型
- iOS开发延迟执行一个方法的方法
- iOS Xib尺寸适配屏幕尺寸
- ios 更新约束
- iOS跳转到系统设置(如:定位、音乐、墙纸设置、蓝牙等)