LoginSignup
1
2

More than 5 years have passed since last update.

Apple Mach-O Linker (ld) Error の詳細

Last updated at Posted at 2017-11-22

Apple Mach-O Linker (ld) Error の詳細

Xcodeを使っていて以下のリンカーに関するエラーが出たとき、
Apple Mach-O Linker (ld) Error
Linker command failed with exit code 1 (use -v to see invocation)
Screen Shot 2017-11-22 at 16.31.22.png

もっと詳しい情報を見るにはReport Navigatorを開く。
Screen Shot 2017-11-22 at 16.19.40.png

確認したい時刻のBuildを選択すると右に詳細が出てくるので、
Screen Shot 2017-11-22 at 16.38.42.png

さらに確認したいエラー部分の横棒が並んでるマークを押すと、詳しいエラー内容がみれる。
Screen Shot 2017-11-22 at 16.20.25.png

例) duplicate symbols for architecture x86_64

「duplicate symbols for architecture x86_64」だった場合の解決例。
Screen Shot 2017-11-22 at 16.20.58.png

これの原因は様々だが、一例としては、ヘッダーファイルにグローバルな関数を書いている場合がある。
例えば

hello.h
void hello(string s){
  std::cout << s << std::endl;
}

と書いている場合、上のコードを.cpp内に移行することで解決する。
.h内でもその関数を使っている場合、

hello.h
void hello(string s);
hello.cpp
void hello(string s){
  std::cout << s << std::endl;
}

とすれば良い。

1
2
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
1
2