LLVM 2.0 can't build for iPhone simulator. GCC 4.2 works fine

删除回忆录丶 提交于 2019-12-21 02:34:18

问题


When I build my project (any project, really - I tried creating a new empty project with the same results), it builds fine with GCC 4.2 under either Xcode4 or Xcode 3.2.4.

If I build using LLVM 2.0 under Xcode4 or with LLVM 1.5 under Xcode3, I get compile-time build failures, but only when building for the Simulator.

The build errors that I get under LLVM are all in headers over which I have no control, such as UIView.h, UIDevice.h, UIApplication.h, UITextView.h and UIWebView.h in UIKit and CGPDFContext.h in CoreGraphics.

Here's an example error, in WebView.h:

@property(nonatomic) UIDataDetectorTypes dataDetectorTypes __OSX_AVAILABLE_STARTING(__MAC_NA, __IPHONE_3_0);   //<--- Unknown type 'UIDataDetectorTypes'

when UIDataDetectorTypes is indeed declared in UIDataDetectors.h which is included in that file.

sniff


回答1:


Might be a bug in Xcode 3.2.4 or the SDK configuration.

Try placing a line like one of these in your Build Settings Preprocessor Macros:

-D__IPHONE_OS_VERSION_MIN_REQUIRED=040100 

or

-D__IPHONE_OS_VERSION_MIN_REQUIRED=030103



回答2:


It sounds to me like your installation is borked.

When you installed Xcode4 did you make sure to install it to a completely separate directory to your existing Xcode install?

It could also have something to do with your include paths or something in that vein. I'm not too sure how to go about fixing that.

I would suggest backing up any custom templates etc. and running the uninstall script for both Xcode 3.x and 4, and then reinstalling to see if that fixes the issues.




回答3:


Does this issue persist with XCode 3.2.5?

Just curious since I haven't downloaded it yet.




回答4:


Without violating NDA (Xcode 4 is prerelease software), I recommend you read this thread in the Apple Developer Forums.



来源:https://stackoverflow.com/questions/3636895/llvm-2-0-cant-build-for-iphone-simulator-gcc-4-2-works-fine

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!