2010-06-23 163 views
2

我剛剛將核心圖升級到已經運行成功圖的應用程序中的最新版本。我遵循相當簡單的說明,但是在UIView.h中出現了20個語法錯誤。 It seems that I'm not alone,但沒有人發佈過該問題的解決方案。'^'令牌之前的語法錯誤

一個例子:

此代碼UIView.h

+ (void)animateWithDuration:(NSTimeInterval)duration delay:(NSTimeInterval)delay options:(UIViewAnimationOptions)options animations:(void (^)(void))animations completion:(void (^)(BOOL finished))completion __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_4_0); 

給人的編譯錯誤 「語法錯誤之前 '^' 令牌」:

/var/folders/UO/UOZJs7XuF5iROp2HMSTlz++++TI/-Caches-/com.apple.Xcode.501/CompositeSDKs/iphonesimulator-iPhoneSimulator4.0-drysryiarqddqccmfooifrjfbivi/System/Library/Frameworks/UIKit.framework/Headers/UIView.h:250:0 Syntax error before '^' token in /var/folders/UO/UOZJs7XuF5iROp2HMSTlz++++TI/-Caches-/com.apple.Xcode.501/CompositeSDKs/iphonesimulator-iPhoneSimulator4.0-drysryiarqddqccmfooifrjfbivi/System/Library/Frameworks/UIKit.framework/Headers/UIView.h 

它認爲解決的辦法是與構建設置相關。什麼會導致這個錯誤?我不熟悉Objective-C中的(^)語法。

+0

由於Core Plot是一個正在進行中的工作,所以最好在覈心圖問題跟蹤器(http://code.google.com/p/core-plot/issues/list)或郵件列表中解決([email protected])。事實上,這個問題只有在核心情節來源中的問題得到解決之後纔有意義。 – 2010-06-23 05:15:26

+0

正如您從核心討論列表中引用的答案所表明的那樣,您(或原始海報)似乎試圖做一些不合適的事情(編譯爲SDK)。毫不奇怪,它並不是一個開箱即用的工具,也不是任何人都已經着手解決問題,除非您想自己解決問題,否則您可能會開始尋找。 – 2010-06-23 05:17:25

+0

核心陰謀所有者似乎並不知道答案,但我認爲其中的一位C大師會看到類似的東西。 – amo 2010-06-23 12:35:52

回答

11

在這方面的^是蘋果的blocks執行。

我的第一個猜測是你試圖用GCC 4.0編譯庫,它不識別語法。也許嘗試將您的編譯器設置更改爲GCC(或LLVM-GCC)4.2。

另一個與編譯器相關的選項可能會有所幫助,那就是將編譯器完全從GCC改變開來。如果Clang在編譯時遇到麻煩,那麼很可能會向您顯示更好的錯誤消息。

+0

是的!它使用GCC 4.0。更改爲GCC 4.2修復了這個問題。 – amo 2010-06-24 03:40:47

+3

我有完全相同的問題。在我的情況下,編譯器設置爲GCC 4.2。將其更改爲LLVM-GCC 4.2解決了該問題。 – aogan 2010-06-28 23:12:46

相關問題