LoginSignup
9
1

More than 3 years have passed since last update.

Carthageでライブラリを導入した際に「clang: error: linker command failed with exit code 1 (use -v to see invocation)」というエラーが出る問題

Last updated at Posted at 2019-07-02

Carthageでライブラリを導入した際に嵌ってしまった。
備忘録も兼ねて記します。

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

スクリーンショット 2019-06-28 15.07.56.png

下記記事を参考にCarthageでライブラリを導入していたが、コンパイル時に「clang: error: linker command failed with exit code 1 (use -v to see invocation)」という謎のエラーが出て、進めなくなった。
【Swift】Carthage導入手順 - Qiita
https://qiita.com/ShinokiRyosei/items/9b856ebdec5379b6c631

環境

  • Xcode_10.1

手順通りにやっているはず・・・。😂
以下、手順通りに試したこと。

Linked Frameworks and Librariesにframeworkを追加

スクリーンショット 2019-06-28 14.58.39.png

RunScriptを作成、スクリプトを追記、InputFilesにライブラリのディレクトリを指定

スクリーンショット 2019-06-28 14.58.21.png

試したこと

  • Carthageのバージョンを上げて導入し直す。➡︎直らない
  • CleanBuild、再起動➡︎直らない
  • ググって色々試す➡︎直らない
  • 別のXcodeのバージョン(Xcode_10.2.1)でビルドしてみる➡︎成功!?🤔

解決策

  1. Xcode>Preferences>Locations>Command Line Toolsで
    利用しているXcodeのバージョンとCommand Line ToolsのXcodeのバージョンを合わせる。
    ※プルダウンできます。
    スクリーンショット 2019-07-02 20.42.41.png

  2. プロジェクト名>Carthage>Buildの"Build"ディレクトリを削除する。

  3. 「$ carthage update --platform ios --no-use-binaries」でライブラリを入れ直す。

結果

直った🥳

結局、複数のXcodeのバージョンを保持しているがゆえに、Command Line Toolsのバージョンが合っていなくてCarthageでライブラリを導入していたのが原因?

教訓: XcodeのバージョンとCommandLineToolsのバージョンは揃える!

他にいい方法がありましたらアドバイスいただけると嬉しいです🙇🏽‍♀️

参考記事

・「clang: error: linker command failed with exit code 1」というエラーへの対処 - Action Script書きの日記
https://goodbyegirl1974.hatenadiary.org/entry/20120920/1348106337
・【swiftエラー】clang: error: linker command failed with exit code 1 (use -vto see invocation) - Qiita
https://qiita.com/miyamotok0105/items/8562964e58965f0abe16
・Xcode 8.3 でビルドした時に “The following binaries use incompatible versions of Swift:” のエラーが発生│U2Kの覚え書き
https://u2k772.blog.fc2.com/blog-entry-439.html

9
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
1