2013-08-28 47 views
0

我是ios的新開發項目,在ios 5.1模擬器上運行時工作正常,沒有出現任何錯誤,但是在同一個項目中運行ios 6.0時,ios 6.1模擬器我得到以下errors.Can任何人都可以建議我如何糾正這個問題?

錯誤:

Undefined symbols for architecture i386: 
"_OBJC_CLASS_$_GDataOAuthAuthentication", referenced from: 
    objc-class-ref in GDataOAuthViewControllerTouch.o 
"_OBJC_CLASS_$_GDataOAuthSignIn", referenced from: 
    objc-class-ref in GDataOAuthViewControllerTouch.o 
ld: symbol(s) not found for architecture i386 
clang: error: linker command failed with exit code 1 (use -v to see invocation) 

回答

2

試試這個,

的主要問題是,我還以爲你正在使用舊的GData SDK。你只需 從Apple LLVM 4.2將編譯器更改爲LLVM GCC 4.2, 完美地編譯應用程序。

我附上截圖,供大家參考

項目 - >靶>構建設置 - >構建選項 enter image description here

2

你鏈接到的那些沒有被編爲你當前的架構/ SDK版本外部庫。我看到您正在使用VDOAds庫,該庫可能是針對5.1 SDK進行了預編譯的。您需要獲得針對最新iOS SDK預編譯的版本。

0

TargetSettings - > Build Phases - > Compile Sources並確保這些缺少的庫包含在那裏。

+0

我試了一下還是我得到同樣的錯誤 – Ravindhiran

0

所以你有兩個問題,對於警告,庫被添加到你的構建階段,但他們從項目中刪除,他們仍然在那裏。

對於該錯誤,您正在使用的庫不會添加到Build Phases - > Link Binary With Libraries中。

因此,爲了解決這個警告/錯誤,轉到您的項目目標 - >構建階段 - >鏈接二進制庫,並搜索libGoogleAnalytics(我認爲這是GA的),並將其刪除(如果不需要)。

還在那裏添加VDOAds庫以修復錯誤。

我還爲目標添加了屏幕截圖,如果您不知道它,將更容易找到它。 enter image description here

相關問題