1
Noob构建问题。删除预处理代码时复制符号
当我改变这个;
#define NOTIFICATION_PLAYBACK_STATE_CHANGED @"SC_NOTIFICATION_PLAYBACK_STATE_CHANGED"
to this;
NSString * const NOTIFICATION_PLAYBACK_STATE_CHANGED = @"SC_NOTIFICATION_PLAYBACK_STATE_CHANGED";
我得到这样的:752次重复的
ld: 752 duplicate symbols for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)
样品:
duplicate symbol _NOTIFICATION_PLAYBACK_STATE_CHANGED in:
/Users/myname/Library/Developer/Xcode/DerivedData/MyApp-hazegevzmypmbtbnalpiwebrhaea/Build/Intermediates/MyApp.build/Debug-iphoneos/MyApp.build/Objects-normal/armv7/SCRemoteRecordManager.o
/Users/myname/Library/Developer/Xcode/DerivedData/MyApp-hazegevzmypmbtbnalpiwebrhaea/Build/Intermediates/MyApp.build/Debug-iphoneos/MyApp.build/Objects-normal/armv7/SCRegisterAcceptTermsViewController.o
duplicate symbol _NOTIFICATION_PLAYBACK_STATE_CHANGED in:
/Users/myname/Library/Developer/Xcode/DerivedData/MyApp-hazegevzmypmbtbnalpiwebrhaea/Build/Intermediates/MyApp.build/Debug-iphoneos/MyApp.build/Objects-normal/armv7/SCRemoteRecordManager.o
/Users/myname/Library/Developer/Xcode/DerivedData/MyApp-hazegevzmypmbtbnalpiwebrhaea/Build/Intermediates/MyApp.build/Debug-iphoneos/MyApp.build/Objects-normal/armv7/SCStreamingVideoViewController.o
(A为这个特殊的重复符号搜索返回该类自己的.h和外面什么都没有。 m文件)。
代码中有许多其他地方,我已经用这个#define替换了在构建期间没有反对的常数。
有人可以猜测这里发生了什么(或者告诉我需要发布什么信息才能进行猜测)?
通过代码来代替#defines来代替它们被用来创建常量(让调试/释放defs未被触及的东西)做一个愚蠢的事情,即我应该以不同的方式做这件事(如果有的话)?
非常简明扼要的解释,非常感谢。 – HenryRootTwo 2014-11-25 19:57:18
我很高兴你觉得它有帮助! – 2014-11-25 20:06:23