🛠️

【KMP】Xcodeのビルドで発生するSQLite3エラーの対処法

2024/11/30に公開

はじめに

Android StudioでKotlin Multiplatform(KMP)を使用してiOSアプリを作成し、Xcodeでビルドした際、「Undefined symbol: _sqlite3_bind_blob」などのSQLite3に関する多数のエラーが発生してビルドができなくなる問題が発生しました。


エラーの一部

この記事は、私がその問題を解決した方法について紹介するものになります。

私の動作環境

  • MacBook Air M1 2020
  • メモリ 16GB
  • MacOS Sonoma 14.7

結論

XcodeプロジェクトのBuild Settingsで、Other Linker Flagsに「-lsqlite3」を追加すると解決できました。

手順

似たような状況に直面された方がいたので、その解決方法を参考にさせていただきました。
このエラーは、プロジェクトがsqlite3ライブラリを正しくリンクしていないことが原因のようです。

まず、Xcode内でBuild Settingsタブを開きます。
Build Settingsタブは左側のプロジェクトナビゲータ(一番左のサイドバー)を開き、青色のプロジェクトアイコンを選択すると開くことができます。


私の場合は赤い四角で囲んだ部分を選択

Build Settingsタブを開いたら、検索バーで「Other Linker Flags」と検索しましょう。
Other Linker FlagsはXcodeのビルド設定の一つで、プロジェクトのリンク処理を設定することができます。


検索バーに入力

Other Linker Flagsを発見したら、ダブルクリックして編集モードに入り、以下のように記述を追加してsqlite3ライブラリをリンクしましょう。
また、ここで「指定された名前のライブラリをリンクする」という意味を持つリンカフラグである-lオプションを利用します。

-lsqlite3


Other Linker Flagsに-lsqlite3を追加

私はこの作業を行った後、エラーが出ることなく正常にビルドできるようになりました!

さいごに

ここまで記事を読んでくださり、ありがとうございました!

この記事が少しでも皆様の手助けになることができれば幸いです!

皆さんも素敵なハッピーKMPライフを!!!🌸

GitHubで編集を提案
CocBan Tech Blog

Discussion