3つの文書の後に得たsqlite3.lib、sqlite3.hとsqlite3.dllでは、我々は我々のプログラムでは、このダイナミックリンクライブラリを使用することができます。
Visual Studioで新しいWin32コンソールアプリケーションを作成し、タイプ「コンソールアプリケーション」キャンセル「プリコンパイル済みヘッダー」を選択し、クリックして「完了。」
選択し、「プロパティ」の下にあるVisual Studioのメニュー「プロジェクト」で、右側に表示される「を含むディレクトリ」の下の左の「VC ++ディレクトリ」を選択し、ディレクトリsqlite3.hファイルが配置されている追加し、管理を容易にするために、Iこれらの3つの文書は同じディレクトリに配置されています。
[OK]をクリックし、ファイルの.libが(原因とヘッダ同じディレクトリ内のファイル、および以前と同じので)、それに追加したディレクトリに、右側の「ライブラリカタログ」を選択の下に。
最後に、すべての必要なライブラリが用意されているように、「sqlite3.lib」を入力し、右の「追加の依存関係」を選択し、下の「入力」を選択し、左の「リンカー」をクリックしてください。
そして、テストコードを試してみてください。
書式#include <iostreamの> #include "sqlite3.h" 名前空間stdを使用。 メインint型() { sqlite3の*デシベル。 int型RET; 裁判所未満<< "Sqliteをバージョン:" << SQLITE_VERSION <<てendl; RET = sqlite3_open( "test.dbという"、&DB)。 (右!= 0)の場合 { 裁判所未満<<「開いているデータベースに失敗しました。」<<てendl; COUT << sqlite3_errmsg(DB)<< ENDL。 -1を返します。 } 裁判所未満<<「開いているデータベースに成功しました。」<<てendl; sqlite3_close(db); return 0; }
编译测试一下,通过。
直接运行试试?
报错?当然了,我们使用的sqlite3.lib文件可不是含有可执行代码的静态库,而是给动态库静态加载使用的,因此还必须要有sqlite3.dll文件的支持。这时候有两种做法,一种是把sqlite3.dll加入到系统环境变量里面去,另外一种就是直接把sqlit3.dll放在可执行目录下,两种方法各有优劣,这里不展开细说了。
例如,我把dll文件同可执行文件放到一起,然后运行,会有命令行提示,打开数据库成功,并在文件夹下产生一个名为test.db的数据库文件。
这里还是想吐槽的是打开和关闭数据库的函数,sqlite3_open的第二个参数类型是sqlite3 **,而sqlite3_close 接受的参数类型是sqlite3*,刚开始写代码的可要特别留意了。