日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

Xcode出现( linker command failed with exit code 1)错误总结

發(fā)布時(shí)間:2025/4/16 编程问答 66 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Xcode出现( linker command failed with exit code 1)错误总结 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
以下文章轉(zhuǎn)自https://www.cnblogs.com/xsyl/p/6085844.html 1,看看是不是有新添加的文件跟之前文件同名

2,錯(cuò)誤信息中出現(xiàn)了某個(gè)類(lèi)的名字,去原文件中看看#import了哪些第三方庫(kù),把這些庫(kù)挨個(gè)注釋排除,找到出錯(cuò)的那個(gè)庫(kù),然后按照官方提供的步驟重新添加一遍。

3.SVN或git忽略了某些文件,如.o 等文件沒(méi)能update下來(lái),查看.o文件可能是紅色的,可以重新添加或者修改SVN(git)的忽略設(shè)置

4.把.a文件刪除再重新拖到項(xiàng)目中解決問(wèn)題

5.可能重復(fù)添加了文件(也可能沒(méi)勾選 Copy items if neded 這個(gè)選項(xiàng)),建議刪除后重新添加

6.工程中文件名重復(fù)了 也會(huì)出現(xiàn)同樣的錯(cuò)誤

7.”Build Settings”->”Enable Bitcode”設(shè)置為NO ,因?yàn)橛行㏒DK不支持Bitcode

8.可能在引用的時(shí)候 可能寫(xiě)的是#import "XXXXX.m" ,如果是改為#import "XXXXX.h"?

9.可能你導(dǎo)入的SDK只能在真機(jī)下才能運(yùn)行,模擬器會(huì)報(bào)錯(cuò)!

如果是多人開(kāi)發(fā),你同步完成后發(fā)現(xiàn)出現(xiàn)如下的錯(cuò)誤。

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

  • 錯(cuò)誤中出現(xiàn)了“MyPageLogViewController”這個(gè)類(lèi),你可以找到這個(gè)類(lèi)的.m文件, 查看他的Target Membeship, 如下圖

    ?

    如果沒(méi)有勾選上,點(diǎn)擊勾選。然后編譯查看。

    ?

    如果是新添加的第三方庫(kù),且不是靜態(tài)庫(kù)

    先重復(fù)第一步過(guò)程,然后找到?Build settings->Linking->Other Linker Flags

    將此屬性修改成-all_load??或者 -ObjC ,這個(gè)視情況而定。總之可以多試幾次。

    如果添加的是第三方靜態(tài)庫(kù)(.a文件)?

  • Undefined?symbols?for?architecture?armv7:??
  • ??"_OBJC_CLASS_$_BaiduMobStat",?referenced?from:??
  • ??????objc-class-ref?in?BaiduMobStatAppDelegate.o??
  • ??????objc-class-ref?in?MyPageLogViewController.o??
  • ?????(maybe?you?meant:?_OBJC_CLASS_$_BaiduMobStatAppDelegate)??
  • ld:?symbol(s)?not?found?for?architecture?armv7??
  • clang:?error:?linker?command?failed?with?exit?code?1?(use?-v?to?see?invocation)??

  • 在用到這個(gè)庫(kù)的所有文件中都出現(xiàn)了錯(cuò)誤, 如上?BaiduMobStatAppDelegate 類(lèi)和?MyPageLogViewController類(lèi)

    ?

    這種情況就可能是這個(gè)靜態(tài)庫(kù)路徑混亂導(dǎo)致的鏈接錯(cuò)誤

    解決方法:Build settings->Search Path->Library Search Paths??添加靜態(tài)庫(kù)的相應(yīng)路徑。

    庫(kù)路徑錯(cuò)誤的情況:

    • 錯(cuò)誤如下,這表示是查詢?Library?的時(shí)候出現(xiàn)的異常。

    "directory not found for option '-L/..."

    解決方法:

    依次 Project -> targets -> Build Setting -> Library Search Paths

    刪除里面的路徑

    • 錯(cuò)誤如下, 這表示是查詢?Framework?的時(shí)候出現(xiàn)的異常。

    "directory not found for option '-F/..."

    解決方法:

    依次 Project -> targets -> Build Setting -> Framework Search Paths

    刪除里面的路徑

    OK,搞定。

    1、Framework Search Paths

    附加到項(xiàng)目中的framework(.framework bundles)的搜索路徑

    2、Library Search Paths

    附加到項(xiàng)目中的第三方Library(.a files)的搜索路徑,Xcode會(huì)自動(dòng)設(shè)置拖拽到Xcode中的.a文件的路徑. 情況1 在工作左邊導(dǎo)航欄Target-->Build Phases-->compile Sources中,第三庫(kù)庫(kù)的所有.m文件都添加到里面,然后編譯通過(guò)了;

    情況2、

    ?

    linker command failed with exit code 1 (use -v to see invocation)

    出現(xiàn)這種情況很可能是,項(xiàng)目中引入了多個(gè)相同的文件。刪除一個(gè)就ok! 情況3、

    xcoder的一個(gè)編譯錯(cuò)誤:

    ?

    linker command failed with exit code 1 (use -v to see invocation)

    ?

    說(shuō)明有無(wú)法準(zhǔn)確找到的函數(shù),函數(shù)有重復(fù)現(xiàn)象。

    ?

    造成這個(gè)錯(cuò)誤的原因是我直接在 .h頭文件中實(shí)現(xiàn)了幾個(gè)函數(shù),然后這個(gè)頭文件又被別的.c文件所引用,有實(shí)現(xiàn)的。

    ?

    所以解決辦法是把實(shí)現(xiàn)的幾個(gè)函數(shù)單出一個(gè).c文件里去。這樣就ok了。

    ?

    情況4、

    把 Valid Architectures??的值改為 armv7

    過(guò)程:

    PROJECT --> Build Settings --> Architectures --> Valid Architectures??他的值本來(lái)是 armv7 armv7s??(ios6.0下)??把a(bǔ)rmv7s 去掉即可

    同樣的操作

    TARGETS -->??Build Settings --> Architectures --> Valid Architectures??做同樣的修改

    ?

    情況5、 很奇葩的情況啊,就是引用第三方的靜態(tài)庫(kù).a 出現(xiàn)了問(wèn)題. 在模擬器和真機(jī)引入的靜態(tài)庫(kù)是分開(kāi)的!!!當(dāng)然如果你的靜態(tài)庫(kù)做成了統(tǒng)一的,那就不會(huì)出現(xiàn)情況5.?

    轉(zhuǎn)載于:https://www.cnblogs.com/jztsdwn/p/10606619.html

    總結(jié)

    以上是生活随笔為你收集整理的Xcode出现( linker command failed with exit code 1)错误总结的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。