iOSの静的ライブラリを構築します - 特にSpatialite
-
27-10-2019 - |
質問
まず、別のスレッド/投稿を参照するために他のプロトコルを使用するかどうかを許してください。
以前のスレッドがありました iOSのSpatialiteをコンパイルする方法 ここで、TOP Answerは、Spatialiteの構築をiOSの静的ライブラリとして部分的に説明しています。答えにはテキストが含まれていました:
「ドラッグnをドロップしたら(両方ともシミュレーターと実際のハードウェアで作業する必要があります)、spatialiteを初期化するだけで呼び出すことができます spatialite_init(1)
."
これは以下のいくつかのバージョンに翻訳されていると思いますか?
Xcode 4
ファイル - > new-> new Target-> iOS-> Framework&Library-> Cocoa Touch Staticライブラリ
ライブラリに名前を付けます-libspatialite_teds
ヘッダーファイルをlibspatialite_teds->コピーヘッダーにドラッグします(ここに質問... spatialite2.3.1.zip 'ダウンロードの「ヘッダー」ディレクトリにspatialite.hファイルがあります。 spatialite.hそれは同一のファイルではなく、明らかに必要です。ヘッダーファイルを「ヘッダー」ディレクトリからドラッグしてから、ディレクトリ「spatialite」をディレクトリとしてドラッグして、Xcode static libraryの「コピーヘッダー」領域にドラッグします。 '?)
'.Aファイル' libspatialite2.3.1_arm.a&libspatialite2.3.1_x86.aをドラッグします
「コンパイルソース」フィールドにこれらのヘッダーを使用する「.m」ファイルがあるべきではありませんか?
今、参照せずに libSpatialite_TedS
私のプロジェクトでは、私が「コマンド-B」を構築するとき、プロジェクトビルドは成功します。ただし、コンパイルされた製品を探したとき
/users/admin/library/developer/xcode/deriveddata/myproject-gutnkbwqonzgxbcmfzzkadqhid/build/crodss/release-iphonesimulator
Buildの製品は表示されますが、Libspatialite_tedsは含まれていません。
これは、コンパイラが「スマート」であり、ヘッダー/.Aファイルがプロジェクトで参照されていないため、それらをコンパイルすることを気にしないことを認識しているためですか?
そして、これは元のポスターの目的を達成するための正しい方法ですか iOSのSpatialiteをコンパイルする方法?
どうもありがとう、テッドs
解決
元のポスターでもリンカーエラーに出くわしていましたが、ターゲットにlibsqlite3.dylib、libstc ++、dylib、libiconv.dylibを含めることで解決しました。
お役に立てれば!
他のヒント
テッド、私は、あなたが説明した別の静的ライブラリではなく、.A(静的ライブラリ)ファイルとヘッダーはすぐにプロジェクトで使用されることを意図していると思います。それらはプロジェクトの出力の結果です。ここで構築したプロジェクトを見つけることができると思います。
http://lionel.gueganton.free.fr/spatialite/
静的ライブラリファイルでもう少し:
編集
これがあなたが役立つと思われるかもしれない別のリンクです。 iOSの静的ライブラリビルドプロセスの要約:http://www.icodeblog.com/2011/04/07/creating-static-libraries-for-ios/