ios報錯:ld: library not found for -lcrt1.3.1.o

今天打包iOS工程的時候,XCode報了下面的錯。

是因爲原來的Unity工程的設置有問題,我們在新的SDK後,開了一個Unity分支,macOS在打開Unity工程的時候,Unity的BulidPlayerSetting裏面的SDKVersion被勾選爲5.1.1

clang: warning: libstdc++ is deprecated; move to libc++ with a minimum deployment target of iOS 7 [-Wdeprecated]
ld: library not found for -lcrt1.3.1.o
clang: error: linker command failed with exit code 1 (use -v to see invocation)

解決辦法爲:

  1. Build Phases -> Link Binary With Libraries
    添加庫:libc++.tbd。
  2. General -> Deployment Info -> Deployment Target
    修改爲ios7或者以上版本。 

上述的解決方法通用,但是我這邊遇到的問題是Unity工程,所以解決方法的第二步可以直接在Unity中設置解決。具體是在Unity的BuildPlayerSetting中的SDK Version選擇7.0或者以上。

實際上帶iOS7以下的操作系統 的設備已經非常少了,甚至於iOS8以下的設備都很少了。所以這裏可以放心的選擇爲7.0以上。

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