2016-06-27 6 views
2
スウィフトを試しかつ安価に可能な限りを与えるたくて

スウィフトのSQLiteのLinux/Ubuntuの

私はすべてがかなりかかわらず、ではない作業ですが、私がいる

  • のUbuntu 16.04
  • SQLiteの3.11.0
  • スウィフト3.0-devの
  • を実行していますよスウィフト内のSQLiteに接続するのは大変です。

    誰もが正常に接続されており、このセットアップでSQLiteのに対してクエリを実行していますか?私は、これらはUbuntuで動作する完全にわからないのiOSソリューションのためのポストの束を見てきたものの

    。あなたがUbuntuでObjective-Cをコンパイルできるかどうかは分かりませんでした。

+1

あなたがこれまでに試してみましたか?あなたがAppleのプラットフォームを対象としのObjective-Cライブラリを使用したい場合は、Linux上でそれの問題に実行する可能性がある:iOS版、マックOSXなどにGCCは、言語としてのObjective-Cをサポートしますが、ライブラリおよび機能の多くが利用可能Linuxでは利用できません。 – OmniProg

+0

私は限りのSQLiteを処理するためにC++を包む目的のためのObjective-Cをコンパイルしようとして持っています。それはコンパイラが私にエラーを投げたときのブームです。 1つのエラーはmixedSourcesで、もう1つはinvalidLayoutでした。私はこれまでにそれを作ったことがいいと感じていますが、今のところ私が行くことができる限りです。 –

答えて

1

Appleのプラットフォームで使用されているObjective-CはLinuxでうまくサポートされていないため、システムモジュールまたはヘッダーを使用してSwiftからSQLite C APIにアクセスする方が良いと思います。 Switeからより適切に呼び出されるように簡略化されたフォームで必要なAPIのサブセットを公開するCライブラリにSQLite APIをラップすることもできます。その後、ラッパーを呼び出すには、システムモジュールを作成します(この場合、SQLite APIのためにシステムモジュールは必要ありません)。または、ブリッジヘッダーを使用してラッパーを呼び出します。

以下が役立つことがあります。

Compile C code and expose it to Swift under Linux

Linking a C library and its supporting library in Swift (linux)

+0

最後に作業!私は基本的にオブジェクトファイルにsqlite3.cをビルドしなければならなかったので、私はこの投稿と一緒に続いた:http://stackoverflow.com/a/36637270/955831とこの投稿http://stackoverflow.com/questions/8702302/howto- sqlite3-in-my-c-appをコンパイルし、意味のあるコードを書きました。 :) –

+0

私はSwift 3のために更新された別のポストに解決策を掲載しました。http://stackoverflow.com/a/38285232/955831 –

関連する問題