如何編譯SQLite源代碼?


 

 

 

目錄(?)[-]

  1. 官方最新版SQLite下載地址httpwwwsqliteorgdownloadhtml
  2. 配置步驟
  3. 測試SQLite
 WIN7+VS2010下配置編譯SQLite_3.8.6

1.官方最新版SQLite下載地址:http://www.sqlite.org/download.html

 

打開上面的鏈接我們需要下載兩個組件:1.SQLite的源碼 2.SQLite的.def模塊定義文件(用來生成lib文件和dll文件)如圖:

 

頁面往下找到:

 

2.配置步驟

 

將這兩個文件下載下來解壓到當前目錄即可:

緊接着我們打開VS2010新建一個Win32應用程序,項目命名為sqlite3配置如圖:

然后把剛才下載解壓出來的文件復制到這個項目下如圖:

粘貼到剛才新建的項目中並包含進項目:

包含進項目:

然后配置項目屬性:

由於Release版和Debug版不能混用有,時候名字一樣不好區分到底是哪個版本的庫,所以Debug版加上d用以區分,到時候編譯出來lib和dll會自動以d結尾

Release版這里默認即可,然后接着配置:

添加模塊定義:

配置完畢直接編譯得到lib和dll文件:

 

3.測試SQLite

 

接下來我們新建一個win32控制台項目,然后在這個項目中我們為sqlite新建幾個文件夾:

 

把剛才用到的sqlite3.h和sqlite3ext.h復制進include中,把sqlite3d.lib復制到lib中,然后配置的控制台項目:

 

在項目中新建一個Main.cpp輸入以下代碼測試一下sqlite:

 

  1. #include "..\sqlite3\include\sqlite3.h"  
  2. #include <assert.h>  
  3.   
  4. #define SQLITE_SAFE_CLOSE( Ptr ){ if( nullptr != Ptr ){ sqlite3_close( Ptr ); Ptr = nullptr; } }  
  5. int main()  
  6. {  
  7.     sqlite3* DataBase = nullptr;  
  8.     //打開或者創建數據庫  
  9.     if( SQLITE_OK != sqlite3_open( "test.db", &DataBase ) )  
  10.     {  
  11.         assert( false );  
  12.         return 0;  
  13.     }  
  14.     //釋放掉數據庫  
  15.     SQLITE_SAFE_CLOSE( DataBase );  
  16.     return 0;  
  17. }  
#include "..\sqlite3\include\sqlite3.h"
#include <assert.h>

#define SQLITE_SAFE_CLOSE( Ptr ){ if( nullptr != Ptr ){ sqlite3_close( Ptr ); Ptr = nullptr; } }
int main()
{
	sqlite3* DataBase = nullptr;
	//打開或者創建數據庫
	if( SQLITE_OK != sqlite3_open( "test.db", &DataBase ) )
	{
		assert( false );
		return 0;
	}
	//釋放掉數據庫
	SQLITE_SAFE_CLOSE( DataBase );
	return 0;
}
編譯運行一下, 提示找不到sqlite3d.dll,把剛才生成的sqlite3d.dll復制到控制台的exe文件所在的目錄下重新運行一下即可!
 
===================================================================================

VS2010下編譯sqlite3  

首先下載源碼,http://www.sqlite.org/download.html中第一個下載文件就是,下載sqlite-amalgamation-3071000.zip,當前版本是3.7.10,里面包含了四個文件,sqllite3.h、sqlite3.c、sqllite3ext.h、shell.c,shell.c暫時不用,由於源碼中沒有包含def文件,所幸其dll版本中包含了def文件,所以需要下載dll壓縮包,下載地址和源碼在同一個頁面上,下載sqlite-dll-win32-x86-3071000.zip。

下面就是工程建立步驟:

1.新建VS2010新建一個“Win32 項目”,命名為:sqlite3。

2.在接下來的對話框中選擇“DLL”類型,附加選項中選擇“空項目”,點擊“完成”。

3.解壓壓縮包,將sqllite3.h、sqlite3.c、sqlite3ext.h、sqlite3.def文件復制到工程文件夾下。

4.在工程的Include Files中添加sqlite3.h、sqlite3ext.h文件。

5.工程的Source Files中添加sqlite3.c、sqlite3.def文件。

6.設置模塊定義文件sqlite3.def,否則生成的dll沒有對應的lib ,如下圖所示:

VS2010下編譯sqlite3 - 無名簫簫 - 金朋軒的博客
7.添加預定義選項SQLITE_ENABLE_COLUMN_METADATA、SQLITE_ENABLE_RTREE,這是sqlite3的宏定義。 
VS2010下編譯sqlite3 - 無名簫簫 - 金朋軒的博客
8.按F7生成相應的dll和lib。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM