Cor*_*oyd 3 iphone xcode build oauth
我正在使用这个OAuth lib:http://github.com/jdg/oauthconsumer
将它添加到我的项目时,会导致超过2000个构建错误.这些错误都在"构建结果"窗口中的App_Preficx.pch文件下.
如果您实际上单击了错误,它们实际上包含在每个Foundation Header中.我不会列出所有这些,但这里有几个例子:
/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.0.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:236:0 /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.0.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:236: error: expected identifier or '(' before '@' token
/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.0.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:238:0 /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.0.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:238: error: expected '=', ',', ';', 'asm' or '__attribute__' before '*' token
/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.0.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSObject.h:8:0 /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.0.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSObject.h:8: error: expected identifier or '(' before '@' token
Run Code Online (Sandbox Code Playgroud)
您可以看到Xcode似乎无法链接到Foundation或至少无法导入标头.
如果我从Xcode中删除OAuth,一切都很好并编译.
我可以在我心中添加搜索路径,但无济于事.
我添加了文档中所需的所有框架,库和搜索路径.
在所有2641个错误中,没有一个能给我带来任何真正的问题.似乎也没有任何后果的警告.
有没有人知道如何找出问题的原因?
好的找到了愚蠢的答案.
在前缀头中你可能会看到:
#ifdef __OBJC__
#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
#endif
Run Code Online (Sandbox Code Playgroud)
如果你添加一些全局变量或类别或宏,你可能会想要这样做:
#ifdef __OBJC__
#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
#endif
#import "MacroUtilities.h"
#import "Global.h"
Run Code Online (Sandbox Code Playgroud)
但这是个坏主意.原因是,如果您在任何"全局"文件中引用Obj-c对象,则可能会将objective-c代码添加到任何包含的c源文件中.从而导致疯狂的错误.
相反,保持真实:
#ifdef __OBJC__
#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
#import "MacroUtilities.h"
#import "Global.h"
#endif
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1453 次 |
最近记录: |