2010-12-04 12 views
3

WindowsでSQLiteを使用してSQLiteをコンパイルするためのチュートリアルは、thisです。私は編集のための前提条件について混乱しています。WindowsでSQLiteを使用してSQLiteをコンパイルする

  1. OpenSSLの
  2. MinGWの
  3. のActiveState Perlの
  4. TclTk/TCLSH
  5. MSYS
  6. のVisual Studio
  7. Cygwinの
:私は、私はそれをコンパイルするには、以下のインストールする必要がありますことを発見しました

中でも上記のとおり、Visual Studio 2008がインストールされているだけです。私はWindows 7で作業しています。

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

答えて

4

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

  1. OpenSSLの、ソースまたはバイナリ
  2. フォームPerlで - オプション、あなたは、OpenSSL
  3. のMinGW/MSYSを構築する場合にのみ必要 - SQLCipherのコンフィグレーションに必要です
  4. Tcl - SQLiteビルドシステムがアセンブルコードを作成するために必要です
  5. Visual Studio - プロジェクトをビルドする

スレッド内のステップを使用すると、DLLを直接作成することも、プロジェクトに組み込む合併を生成することもできます。

これらの手順と時間をすべて保存する場合は、わずかな費用でWebサイトhttp://sqlcipher.net/downloadsからプリコンパイルされたSQLCipherウィンドウバイナリを取得することもできます。これらのバイナリセールスは、より迅速な作業を支援し、プロジェクトのサポートに役立つため、相互に有益です。

+4

* SMALL * charge? 500ドルは小さくない! – Michael

3

SQLCipherはSQLiteソース+修正のチェックアウトとして配布されているようですが、それはクイックルックで判断すると、 "アマルゲーション"ではなくマルチファイルバージョンです。したがって、SQLiteソースを構築できる環境が必要です。これはunixyアプリケーションの束を意味します。

個人的には、私はSQLCipherのソースアーカイブとそれに含まれるSQLiteバージョンの違いを調べたいと思います(これはバージョンファイルで判断するとSQLite 3.7.2と思われます)ソースSQLiteファイル、およびSQLCipherに特有のリストファイルに対して行われます。

OpenSSLを手作業で作成することで手間がかからないように、Perl依存関係を取り除く(iirc OpenSSLはVisual C++でうまくいくので、MingWは依存関係にはならない)、事前ビルドされたバージョンを取得できます。

SQLCipher作成者が意図的にトリッキーなSQLiteの(彼はWin32のバイナリを売ってから、いくつかのお金を現金し、持っているかもしれない)からの彼の特定のコード部分を分離する作業を行っていない場合は、あなたが取ることができると思います彼の変更をSQLiteのアマルゲーションバージョンとあらかじめ組み込んだOpenSSLバイナリと組み合わせることで、Visual Studioソリューションに簡単にドロップインすることができます。

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

ステップshouldn」をコンパイルするので別の方法として、あなたは、* Xボックス(つまり、Linuxのものかどうか、* BSDまたはMac OS Xシェル)* uは上SQLCipherののconfigureステップを行うことができるかもしれませんすべてのファンキーなツールが必要です。

UPDATE:私はチェックアウト

(バージョン3.7.2)SQLCipher 1.1.8分布に対して差分を実行しました[http://www.sqlite.org/src/info/42537b6056]のSQLiteのと、変更された部分を抽出するために、かなり合理的な作業のように思える:

 
Makefile.in - references added for the new crypto files. 
tool/mksqlite3c.tcl: references added for the new crypto files. 
src/pragma.c - one added block, marked /** BEGIN_CRYPTO **/ 
src/pager.c - one added block, marked /** BEGIN_CRYPTO **/ 
src/crypto.h - new file. 
src/crypto.c - new file.

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

+0

私はこのコードをコンパイルするビジュアルスタジオプロジェクトがあると思います(http://zetetic.net/blog/2009/12/28/improvements-to-sqlcipher---cross-platform-sqlite-encryption/) 。誰にもそのvnetソリューションがありますか? –

+0

http://groups.google.com/group/sqlcipher/browse_thread/thread/55c6296b56bf4533/0781135c6cc47dc7?#0781135c6cc47dc7 –

+4

@Stephen Lombardo:公正なポイント - 私の「現金」のコメントを侮辱としてはいけません、私はそれがかなり恥ずかしいことだと思うとしても、それはかなり公正なことだと信じているそれは多くの場合、苦しんで終わる貧しいWindowsの開発者です:) – snemarch

関連する問題