Xcode 15でビルドエラー?「compact unwind compressed function offset doesn’t fit in 24 bits」の解決方法
Xcode 15にアップデートしてから、こんなエラーメッセージが発生した。
1 2 3 |
Assertion failed: (<span class="hljs-literal">false</span> && <span class="hljs-string">"compact unwind compressed function offset doesn't fit in 24 bits"</span>), <span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">operator</span>(<span class="hljs-params"></span>), <span class="hljs-title">file</span> <span class="hljs-title">Layout</span>.<span class="hljs-title">cpp</span>, <span class="hljs-title">line</span> 5758. <span class="hljs-title">clang</span>: <span class="hljs-title">error</span>: <span class="hljs-title">linker</span> <span class="hljs-title">command</span> <span class="hljs-title">failed</span> <span class="hljs-title">with</span> <span class="hljs-title">exit</span> <span class="hljs-title">code</span> 1 (<span class="hljs-params">use -v to see invocation</span>) </span> |
このエラーは、特に大規模なプロジェクトで発生しやすく、リンカがコード内の特定の情報を適切に処理できないことが原因です。
解決策
最も簡単な解決策
-
Xcodeでプロジェクトを開く
-
「Build Settings」タブへ移動
-
「Other Linker Flags」を検索
-
値の欄をダブルクリックし、-ld64 を追加
なぜ -ld64 が有効なのか?
-ld64 は、64ビットリンカを使用するよう指示するフラグです。これにより、エラーの原因となっていた情報が収まりきらない問題が解消されます。
補足
-
このエラーは、Xcodeのアップデートや特定のコード変更によって発生する可能性があります。
-
最新のXcodeでは、この問題が修正されている可能性もあります。
コメントを残す