duplicate symbol

少し大きくなってきたプロジェクトをXcodeでビルドするとリンク時によく出てくるやっかいなエラー。 

最初のうちは中々原因が判らずにいらいらするが、私の場合以下が原因であることが多いことが判ったので気をつけるようにしている。

    • 同じファイルが存在している(プロジェクト中にあるとは限らない)
    • "Build Phase"の"Compile Source"や"Copy Bundle Resources"に同一のファイルが複数回追加されている(プロジェクトからファイルを削除しても消えるとは限らない)

    • const定数宣言時にstaticが無い

最初の二つは仕方が無いが、最後が判らない。どうしてstaticが無いと"duplicate symbol"なんだろう。
このケースではconstはヘッダ(.h)に記述しているが、#importは一度しかインポートをしないはずだと思ったが。