4

WindowsでSQLCipherを使用してSQLiteをコンパイルするために、このチュートリアルに従っています。コンパイルの前提条件について混乱しています。コンパイルするには、以下をインストールする必要があることがわかりました。

  1. OpenSSL
  2. MinGW
  3. アクティブステート Perl
  4. TclTk / tclsh
  5. MSYS
  6. ビジュアルスタジオ
  7. シグウィン

上記のすべての中で、Visual Studio 2008 をインストールしただけです。私はWindows 7で作業しています。

WindowsでSQLCipherを使用してSQLiteをコンパイルするための正確な前提条件は何ですか?

4

2 に答える 2

5

SQLCipher は、SQLite ソース + 変更のチェックアウトとして配布されているようです。ざっと見て判断すると、それは「融合」ではなくマルチファイル バージョンです。したがって、SQLite ソースをビルドできる環境が必要です。これは、多数の unixy アプリを意味します。

個人的には、SQLCipher ソース アーカイブとそれに含まれる SQLite バージョン (VERSION ファイルから判断すると、SQLCipher 1.8.2 の場合は SQLite 3.7.2 のようです) との差分を作成します。すべて、ソース SQLite ファイル、および SQLCipher に固有のリスト ファイルに対して行われます。

OpenSSL を手動でビルドする手間を避けるために、Perl の依存関係を取り除くビルド済みバージョンを取得できます (iirc OpenSSL は Visual C++ で正常にビルドされるため、MingW は依存関係にすべきではありません)。

SQLCipher の作成者が、特定のコード部分を SQLite から分離する作業を意図的に巧妙に行っていない場合 (win32 バイナリの販売からいくらかのお金を稼ぐために、そうしている可能性があります)、あなたは彼の変更を取得して SQLite 融合バージョンとビルド済みの OpenSSL バイナリ。これにより、Visual Studio ソリューションへのドロップインが非常に簡単になります。

もちろん、SQLCipher の新しいバージョンにアップグレードする場合は、抽出手順を実行する必要があることを意味しますが、実際に cygwin 開発環境をインストールして、この単一のライブラリを構築します。

あるいは、 *u*x ボックス (Linux、*BSD、または Mac OS X シェルのいずれであっても) で SQLCipherの構成ステップを実行できる場合があります

アップデート:

SQLite の (バージョン 3.7.2)[http://www.sqlite.org/src/info/42537b6056] をチェックアウトし、SQLCipher 1.1.8 ディストリビューションに対して diff を実行しましたが、抽出するのはかなり合理的なタスクのようです。変更された部分:

Makefile.in - 新しい暗号ファイルの参照が追加されました。
tool/mksqlite3c.tcl: 新しい暗号ファイルの参照が追加されました。
src/pragma.c - /** BEGIN_CRYPTO **/ とマークされた 1 つの追加ブロック
src/pager.c - /** BEGIN_CRYPTO **/ とマークされた 1 つの追加ブロック
src/crypto.h - 新しいファイル。
src/crypto.c - 新しいファイル。

また、AES暗号サポートを取得するためだけにOpenSSLに依存するのはかなりやり過ぎのようです-専用の(そしてはるかに小さい)AESパッケージを使用するためにSQLCipherに基づいて何か新しいものを構築する方が良いでしょう.

于 2010-12-04T11:04:11.773 に答える
3

Windows で SQLCipher をコンパイルするために必要な最小限のセットアップは次のとおりです。

  1. ソースまたはバイナリの OpenSSL
  2. forms Perl - オプション。OpenSSL をビルドする場合にのみ必要
  3. MinGW / MSYS - SQLCipher の設定に必要
  4. Tcl - SQLite ビルド システムが融合コードをビルドするために必要
  5. Visual Studio - プロジェクトをビルドする

スレッドの手順を使用して、DLL を直接作成するか、融合を生成してプロジェクトに含めることができます。

これらすべての手順と時間を節約したい場合は、少額の料金で、http: //sqlcipher.net/downloads の Web サイトからコンパイル済みの SQLCipher Windows バイナリを入手することもできます。これらのバイナリ販売は、より迅速に作業を開始するのに役立ち、プロジェクトをサポートするのに役立つため、相互に有益です.

于 2010-12-09T15:03:35.977 に答える