天天看點

ARM移植sqlite3

SQLite,是一款輕型的資料庫,是遵守ACID的關聯式資料庫管理系統,它的設計目标是嵌入式的,而且目前已經在很多嵌入式産品中使用了它,它占用資源非常的低,在嵌入式裝置中,可能隻需要幾百K的記憶體就夠了。它能夠支援Windows/Linux/Unix等等主流的作業系統,同時能夠跟很多程式語言相結合,比如 Tcl、C#、PHP、Java等,還有ODBC接口,同樣比起Mysql、PostgreSQL這兩款開源世界著名的資料庫管理系統來講,它的處理速度比他們都快。

在開始之前,我們需要确認有

  • SQLite3源碼包;
  • 有交叉編譯環境;
  • 有一塊開發闆;

1、下載下傳 SQLite3源碼

位址: http://www.sqlite.org/sqlite-amalgamation-3.6.1.tar.gz

2、将源碼包複制到主機工作目錄下

tar zxvf sqlite-autoconf-3080500.tar.gz                        #解壓
cd sqlite-autoconf-3080500                                #進入解壓後的目錄
           

3、配置編譯選項

export PATH=$PATH:/usr/local/arm-tools/bin                #交叉編譯工具路徑加入系統環境變量
./configure --host=arm-none-linux-gnueabi --prefix=$PWD/tmp
           

其中,

  • --host: 指定交叉編譯工具,一般為arm-linux、arm-linux-gnueabihf、arm-none-linux-gnueabi等,具體要和闆子用的交叉編譯工具對應。
  • --prefix: 指定安裝目錄,編譯後的檔案會全部放在安裝目錄中。必須是絕對路徑

4、編譯安裝

make
make install
           

5、壓縮

壓縮sqlite3

cd tmp/bin
arm-none-linux-gnueabi-strip sqlite3 
           

壓縮動态庫libsqlite3.so.0.8.6

cd ../lib
arm-none-linux-gnueabi-strip libsqlite3.so.0.8.6
           

6、拷貝檔案到arm

将sqlite3複制到/usr/bin目錄,将動态庫檔案複制到/usr/lib目錄,并對動态庫做連結

cd /usr/lib
ln -s libsqlite3.so.0.8.6 libsqlite3.so.0
ln -s libsqlite3.so.0.8.6 libsqlite3.so
           

7、運作sqlite3

在開發闆上執行sqlite3指令即可看見效果,使用 .help 檢視幫助,使用 .quit 退出sqlite3指令。