簡體   English   中英

Xcode中的鏈接錯誤

[英]Linking Error in Xcode

添加libxml2.2.dylib文件后出現此錯誤

 Linking /Users/Biranchi/Desktop/Funmovies TabBarController/build/Debug-iphonesimulator/funmovies.app/funmovies (1 error)
 in /Developer/Platforms/iphoneOS.platform/Developer/SDKs/iphoneOS3.0.sdk/lib/libobjc.A.dylib, missing required architecture i386 in file

Command /XCode3.1.4/platforms/iphoneSimulator.platform/Developer/usr/bin/gcc-4.2 failed with exit code 1

這是什么錯誤導致的?

所有建議表示贊賞。

謝謝比蘭奇

確保使用正確的擴展名導入。

當我錯誤地寫了#import "AClass.m"而不是#import "AClass.h"時,我得到了錯誤:-)

我必須刪除該庫libz.1.2.3.dylib並添加此庫libz.1.2.5.dylib。 之后,它編譯良好。

嘗試產品->清潔。 為我工作。

如何添加為已編譯源

確保如果您有外部類,則將它們添加到編譯源中。 當我嘗試導入某個類時,我遇到了相同的錯誤。 要修復它,請轉到構建階段並將其添加到已編譯的源代碼中。

遇到了同樣的錯誤,即使我已經從項目錯誤中刪除了libxml2,也仍然在這里:)這個X ** y XCode寫道:

LIBRARY_SEARCH_PATHS = (
+                    "$(inherited)",
+                    /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.0.sdk/usr/lib,
+                );

進入“ MyProj.xcodeproj”中項目的配置文件“ project.pbxproj”。

您可以手動更改此路徑,例如:

LIBRARY_SEARCH_PATHS = (
+                    "$(inherited)",
+                    /Developer/Platforms/iPhoneSimulatorOS.platform/Developer/SDKs/iPhoneSimulatorOS3.0.sdk/usr/lib,
+                );

但是,當編譯到設備中時,請不要忘記將其改回。 我將嘗試找到更簡單的方法來解決此問題。

構建項目時,我遇到了類似的問題,但是這次使用的文件是timbreID.c

arm-apple-darwin10-gcc-4.2.1: timbreID.c: No such file or directory
Command /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc-4.2 failed with exit code 1

經過幾次嘗試,我終於查看了XCode項目上的“ Targets”,並意識到timbreID.c文件是紅色的(=未找到)。 我右鍵單擊它,然后手動選擇新路徑。

之后:構建成功!!

只需刪除libz1.2.3,然后將libz1.2.5庫添加到構建階段即可。

如果這是與特定框架有關的問題,請確保在構建階段將其啟用。 對我來說,我必須添加MessageUI.framework:在Xcode 4中,轉到目標的構建階段選項卡。 確保您看到正在使用的框架。 如果不存在,請單擊+添加它。

我遇到了同樣的問題,然后繼續檢查目標信息

在庫搜索路徑中,存在以下條目:“ $(DEVELOPER_DIR)/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.0.sdk/usr/lib”

我將其刪除,該應用程序正常運行!!!

即使導航窗格中的文件都不是紅色,我也遇到了相同的錯誤。 原來,我重構一個類的名稱會拋出Xcode路徑位置。 對我有用的解決方案是一次選擇一個.h和.m文件,將位置設置為“絕對路徑”(在右側菜單中,最左側的選項卡),然后瀏覽至文件系統中的位置。

為了增加Graham Heath的答案-我認為在線程中應該更加突出。

檢查缺少的框架是嘗試的最快,最簡單的修復。 完全無損,對於大多數人來說,可能是這類錯誤的原因。 只需瀏覽框架列表以查找合適的內容並嘗試即可。 我認為許多人都愚弄了,因為XCode不會在編寫代碼時(僅在鏈接時)標記類的問題。

我的錯誤是:“鏈接器命令失敗,退出代碼為1(使用-v查看調用)”,涉及CoreLocation中的幾個錯誤:

“體系結構armv7的未定義符號:“ _ OBJC_CLASS _ $ _ CLLocationManager”,引用自:NPTViewController.o中的objc-class-ref”

我添加了CoreLocation.framework並完成了工作。

嘗試從命令行發出失敗的命令。 在那里,您將看到未通過GUI顯示的stderr輸出。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM