2011-10-31 110 views
5

請從下面的錯誤幫我。符號(s)未找到架構armv6

我正在使用第三方框架(libIPhonecharting)的圖形,每一件事情都可以在模擬器中正常工作,但是當我嘗試構建.app文件以安裝在IPAD設備中時,出現以下錯誤消息。

忽略文件 /Users/xyz/Desktop/xyzIPAD/library/4.0/Release-iphoneos/libIPhoneCharting.a, 文件是專爲存檔這是不被連接的架構 (ARMv6的)

對於建築的ARMv6

未定義的符號: 「_OBJC_CLASS _ $ _ DTCStroke」, 從引用: objc級-REF在DemoLineChart.o 「_OBJC_CLASS _ $ _ IPCBar3DChart」,從引用: objc級-REF在DemoBar3DChart.o「_OBJC_CLASS _ $ _ IPCLineChart 「,引用自: DemoLineChart.o中的objc-class-ref」_OBJC_CLASS _ $ _ D TCDefaultCategoryDataset 「從引用:在DemoBar3DChart.o objc級-REF objc級-REF IN DemoLineChart.o 」_DTC_STROKE_CAP_SQUARE「,從引用: + [DemoLineChart(私人)getRenderWithRender:]在DemoLineChart.o」 _OBJC_CLASS_ $ _IPCTitle」,從引用:在DemoBar3DChart.o objc級-REF objc級-REF IN DemoLineChart.o 「_DTC_STROKE_JOIN_BEVEL」,從引用: + [DemoLineChart(私人)getRenderWithRender:]在DemoLineChart.o LD:符號(s)未找到架構armv6 collect2:ld返回1退出狀態

回答

2

幾個問題:你是否有外部lb有它自己的projec t文件?如果是這樣,確保它被配置爲正確構建到arm6和arm7。爲了您的主要項目文件做好相同的測量。另外,你在什麼版本的XCOde上?不同版本之間存在顯着差異。

查看libs方案(取決於您使用的Xcode的版本)並確保在iOS設備上進行調試時正確配置;我建議你正在建設自己的設備用於調試目的:這個建議是因爲:「文件是建立的檔案,這是不是被鏈接的架構(armv6)」

嘗試每個這些東西后一定要清理整個項目在每次構建之前。

希望這會有所幫助。我覺得你的痛苦XCOde是邪惡的。

+0

嗨感謝您的回答解決了這個問題,請澄清下面的問題, –

+0

Santosh,好像有些文字被切斷了。請重新添加問題。 – mdominick

+0

1.如何將外部lb配置爲armv6&armv7並對我的主項目執行相同操作? 2.我正在使用xcode 4.1.2和ipad 4.3 sdk當我將第三方庫添加到我的項目中時,庫的路徑將被添加到構建設置中的「庫路徑」中。如果我刪除路徑,那麼它甚至不能在模擬器中工作,如果我將它添加回來,它在模擬器中工作正常。但在這兩種情況下,它都不能在設備中工作。 –

18

這裏就是我得到了這個問題:

我加了一個.h.m和NIB從另一個項目將其拖動到我的項目導航。 Xcode沒有正確地將它們添加到Build Phases中。

我對這個問題的解決方案:在導航菜單

  • 轉到該目標
  • 點擊「構建階段」選項卡上
  • 添加.m文件「編譯源代碼」(或者拖動它,或使用+按鈕)
  • .xib添加到「複製束資源」
  • 清理並生成

它爲我非常感謝你

+1

我有同樣的問題,而HimanshuAgnihotri的解決方案解決了它。 – gangt

+0

@gangt thankx :) –

+0

我有相同的生成階段問題。小心將文件添加到項目中,目標未檢查目標成員 – cynistersix

0

我加入缺席框架靶>構建Phases->鏈接二進制與圖書館

相關問題