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に基づいて何か新しいものを構築する方が良いでしょう.