Win11下基于VS2022編譯SQLite3源碼的實(shí)現(xiàn)步驟
前言
因?yàn)榫幾g第三方庫(kù)GDAL源碼來(lái)使用 踩了很多坑,編譯SQLite3是其中之一 故此記錄一下完整的編譯流程 供后續(xù)使用。
提示:以下是本篇文章正文內(nèi)容,下面案例可供參考
一、下載SQLite
SQLite 下載地址
下載紅框部分的3個(gè)文件 提示:這里有個(gè) sglite-autoconf-3420000.tar.gz 是免編譯版,想省事就下載這個(gè),但我自己用這個(gè)老是編譯不過 所以我這里不推薦這個(gè)了
下載完畢后 是這個(gè)三個(gè)文件:
將三個(gè)壓縮包解壓放到一個(gè)新建的文件夾中,解壓文件后顯示如下結(jié)構(gòu):
【sqlite3420000】文件夾是自己創(chuàng)建的 內(nèi)容是上面三個(gè)壓縮包的文件
二、配置SQLite
1.打開vs 2022
1.選擇創(chuàng)建新項(xiàng)目
選擇空項(xiàng)目
這里路徑可以直接放到下載的sqlite的目錄下
填好項(xiàng)目名稱 項(xiàng)目路徑后 然后點(diǎn)擊創(chuàng)建
2.項(xiàng)目添加文件
接著在 頭文件 和 源文件兩處 右鍵-> 添加-> 現(xiàn)有項(xiàng) 引用對(duì)應(yīng)sqlite文件 如下所示:
分別將 “sqlite3.h”、“sqlite3ext.h”、“sqlite3.c”、"sqlite3.def"共四個(gè)文件放入對(duì)應(yīng)的文件夾后,接著
3.修改sqlite3.def文件
打開sqlite3.def 在文件的最后 添加如下內(nèi)容
sqlite3_unlock_notify
然后保存,保存之后在項(xiàng)目點(diǎn)擊右鍵->屬性:
4.設(shè)置項(xiàng)目屬性
打開屬性設(shè)置后 先將頂部"配置"改為"所有配置",“平臺(tái)"改為"所有平臺(tái)”。
然后在左側(cè)選擇"配置屬性"->“C/C++”->“預(yù)處理器”,右側(cè)"預(yù)處理器定義"點(diǎn)擊最右邊的下拉后選"編輯",在彈出的窗口中,把"<不同選項(xiàng)>"改為下面的內(nèi)容的值,然后點(diǎn)確定。
_USRDLL SQLITE_ENABLE_RTREE SQLITE_ENABLE_COLUMN_METADATA SQLITE_ENABLE_FTS5 SQLITE_ENABLE_UNLOCK_NOTIFY
操作完上面步驟后緊接著在左側(cè)選擇"配置屬性"->“鏈接器”->“輸入”,右側(cè)"模塊定義文件"點(diǎn)擊最右邊的下拉后選"編輯",在彈出的窗口中,輸入sqlite3.def后點(diǎn)擊確定。
最后一步在左側(cè)選擇"配置屬性"->“常規(guī)”,右側(cè)"配置類型"改為"靜態(tài)庫(kù)(.lib)"后點(diǎn)擊應(yīng)用->確定。
2.編譯SQLite
上述配置完畢后就可以開始編譯SQLite了在"解決方案配置"為"Release",“解決方案平臺(tái)"選項(xiàng),32位的選"x86”,64位選"x64",
然后右鍵sqlite項(xiàng)目->“生成”,在項(xiàng)目位置的Release文件夾下會(huì)生成sqlite.lib
顯示上述內(nèi)容即生成成功了,在項(xiàng)目文件的 x64->Release下能看到生成的lib
3.規(guī)整文件
生成后lib后 整理一下文件,在一步驟生成的【sqlite3420000】目錄下新建【bin】【include】【lib】三個(gè)目錄,然后分別把對(duì)應(yīng)文件拖到目錄下 如圖所示:
【bin】目錄存放生成的sqlite3.exe文件
【include】目錄存放生成的sqlite3.h,sqlite3ext.h文件
【lib】目錄存放剛剛生成的.lib文件
到這里就結(jié)束啦!
總結(jié)
到此這篇關(guān)于Win11下基于VS2022編譯SQLite3源碼的實(shí)現(xiàn)步驟的文章就介紹到這了,更多相關(guān)VS2022編譯SQLite3內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
初識(shí)SQLITE3數(shù)據(jù)庫(kù)
本文主要講訴Sqlite數(shù)據(jù)庫(kù)的一些基本概念以及SQLite的優(yōu)勢(shì),需要的朋友可以參考下2014-08-08System.Data.SQLite 數(shù)據(jù)庫(kù)詳細(xì)介紹
System.Data.SQLite是SQLite的加強(qiáng)版,它可以無(wú)需.NET Framework支持,由于它內(nèi)部包含了一個(gè)ADO.NET 2.0引擎,所以.NET開發(fā)人員可以利用System.Data.SQLite方便地開發(fā).NET程序。2011-02-02SQLite教程(十三):C語(yǔ)言編程實(shí)例代碼(1)
這篇文章主要介紹了SQLite教程(十三):C語(yǔ)言編程實(shí)例代碼(1),本文講解了獲取表的Schema信息、動(dòng)態(tài)創(chuàng)建表、刪除該表、常規(guī)數(shù)據(jù)插入、創(chuàng)建測(cè)試數(shù)據(jù)表、刪除測(cè)試表等內(nèi)容,需要的朋友可以參考下2015-05-05SQLite教程(五):索引和數(shù)據(jù)分析/清理
這篇文章主要介紹了SQLite教程(五):索引和數(shù)據(jù)分析/清理,本文講解了創(chuàng)建索引、刪除索引、重建索引、數(shù)據(jù)分析、數(shù)據(jù)清理等內(nèi)容,需要的朋友可以參考下2015-05-05SQLite學(xué)習(xí)手冊(cè)(SQLite在線備份)
在SQLite中提供了一組用于在線數(shù)據(jù)庫(kù)備份的APIs函數(shù)(C接口),可以很好的解決上述方法存在的不足。通過該組函數(shù),可以將源數(shù)據(jù)庫(kù)中的內(nèi)容拷貝到另一個(gè)數(shù)據(jù)庫(kù),同時(shí)覆蓋目標(biāo)數(shù)據(jù)庫(kù)中的數(shù)據(jù)2013-12-12sqlite3自動(dòng)插入創(chuàng)建時(shí)間和更新時(shí)間的功能實(shí)現(xiàn)
最近在記錄一些簡(jiǎn)單的結(jié)構(gòu)化日志信息時(shí),用到了sqlite3數(shù)據(jù)庫(kù)(保存的信息比較簡(jiǎn)單,用Mysql,SQL Server,Postgres這些數(shù)據(jù)庫(kù)有點(diǎn)小題大做),這次使用,希望sqlite3也能提供幾個(gè)基本的功能,自動(dòng)插入創(chuàng)建時(shí)間和更新時(shí)間,需要的朋友可以參考下2024-06-06