【KMP】Xcodeのビルドで発生するSQLite3エラーの対処法
はじめに
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ライフを!!!🌸
地域のためのコミュニケーションアプリ「CocBan」のテックブログです。CocBanの開発・運用にまつわる技術的な知見を投稿します。お問い合わせはこちら(cocban.com/contacts/)です。
Discussion