XCode10 更新後遇到的幾個編譯失敗的問題

這兩天由於同事都相繼更新了系統和XCode10導致有些沒更新系統和XCode的同事代碼遇到一些問題,下面列出我遇見的幾個問題:

問題一、Build input file cannot be found:'/Users/xxxxx/lib/DataLib/build/Debug-iphoneos/libDataLib.a'

報錯圖片如下:


問題二、Multiple commands produce

問題詳情

:-1: Multiple commands produce '/Users/mac/Library/Developer/Xcode/DerivedData/NewAirCloud-aleqredxbgkylvbkglvqefavfggd/Build/Products/Debug-iphoneos/NewAirCloud.app/Info.plist':
1) Target 'NewAirCloud' (project 'NewAirCloud') has copy command from '/Users/mac/Desktop/NewAirCloud-iOS/NewAirCloud/NewAirCloud/External/BaiDuAR/Vendors/SSZipArchive/Info.plist' to '/Users/mac/Library/Developer/Xcode/DerivedData/NewAirCloud-aleqredxbgkylvbkglvqefavfggd/Build/Products/Debug-iphoneos/NewAirCloud.app/Info.plist'
2) Target 'NewAirCloud' (project 'NewAirCloud') has process command with output '/Users/mac/Library/Developer/Xcode/DerivedData/NewAirCloud-aleqredxbgkylvbkglvqefavfggd/Build/Products/Debug-iphoneos/NewAirCloud.app/Info.plist'

問題截圖如下:


錯誤原因:

原因是XCode10更改默認的編譯系統如下圖:


問題一、二、解決辦法:

1.點擊File --> Project Setting --> Build System 選擇Legacy Build System -->Done
2.command + shift +k:清理緩存即可編譯成功


問題三、ld: library not found for -lstdc++.6.0.9

問題截圖:


問題原因:

Xcode 10 中移除了 “-libstdc++.6.0.9” 等一些過期很久的庫

解決辦法:

1.移除-libstdc++.6.0.9
TARGETS --> Build Phases -->Link Binary With Libraries 找到libstdc++.6.0.9選中點擊➖圖標移除


2.需要在舊版Xcode 9 中查找到“-lstdc++.6.0.9”庫之後,複製一份放入Xcode 10 lib庫中。
具體操作連接:https://www.jianshu.com/p/3e29e9d897c8

問題四:"OBJC_CLASS$_CNContactStore", referenced from:objc-class-ref in iflyMSC(IFlyContact.o)

"_OBJC_CLASS_$_CNContactStore", referenced from:
      objc-class-ref in iflyMSC(IFlyContact.o)
  "_OBJC_CLASS_$_CNContactFetchRequest", referenced from:
      objc-class-ref in iflyMSC(IFlyContact.o)
  "_CNContactGivenNameKey", referenced from:
      -[IFlyContact fetchContactWithContactStore:] in iflyMSC(IFlyContact.o)
  "_CNContactFamilyNameKey", referenced from:
      -[IFlyContact fetchContactWithContactStore:] in iflyMSC(IFlyContact.o)

問題截圖:


問題原因:

科大訊飛sdk需要添加以下四個依賴庫,升級Xcode10後莫名找不到這些依賴庫


解決辦法:

添加相應依賴:TARGETS --> Build Phases -->Link Binary With Libraries點擊➕號,搜索相應framework,點擊add

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章