將SQLite移植到ARM上


       近段時間在學數據庫,因為自身需求,所以注重研究了點嵌入式sqlite數據庫, SQLite,是一款輕型的數據庫,是遵守ACID的關聯式數據庫管理系統,它的設計目標是嵌入式的,而且目前已經在很多嵌入式產品中使用了它, 它占用資源非常的低,在嵌入式設備中,可能只需要幾百K的內存就夠了。它能夠支持Windows/Linux/Unix等等主流的操作系統, 同時能夠跟很多程序語言相結合,比如 Tcl、C#、PHP、Java等,還有ODBC接口, 同樣比起Mysql、PostgreSQL這兩款開源世界著名的數據庫管理系統來講,它的處理速度比他們都快。 自我感覺用起來很high的... 就不扯了.

  下面言歸正傳: 下面就將sqlite移植到ARM開發板上的具體步驟貼下來, 在移植之前首先需要做的工作一是搭建PC端與ARM端數據共享機制,關於這個的方法很多,我在之前的文章中也就nfs共享的具體步驟做過詳細的說明, 這里就不在累贅了。二是搭建交叉編譯環境; 檢測本機是否已經安裝交叉編譯環境可在終端中鍵入#arm-linux-gcc -v進行查看 獲取sqlite源碼包,源碼包可到www.sqlite.org官方網站下載,我在此使用的是sqlite-3.6.18.tar.gz

1.將sqlite-3.6.18.tar.gz解壓到/home目錄下,並在sqlite-3.6.18目錄下建立sqlite-arm-linux目錄 #cd /home/sqlite-3.6.18 #mkdir sqlite-arm-linux

2.首先備份configure文件 #cp configure configure.old

3.修改configure文件, #./configure --host=arm-linux --disable-tcl --prefix=/home/sqlite-3.6.18/sqlite-arm-linux/

4.修改Makefile文件 BBC = gcc -g -O2

5.編譯並安裝 #make && make install

6.為了減小執行文件大小,可用strip處理,去掉其中的調試信息 #cd /home/sqlite-3.6.18/sqlite-arm-linux/bin #arm-linux-strip sqlite3

7.而后進行移植 對庫的拷貝時要加上-arf選項,因為libsqlite3.so, libsqlite3.so.0是鏈接到libsqlite3.so.0.8.6的 #cd /home/sqlite-3.6.18/sqlite-arm-linux/lib #cp -arf libsqlite3.so, libsqlite3.so.0, libsqlite3.so.0.8.6 /usr/yang(共享目錄) #cd /home/sqlite-3.6.18/sqlite-arm-linux/bin #cp sqlite3 /usr/yang(共享目錄)

8.在開發板終端中將三個庫文件拷貝到其庫中,而后即可使用sqlite了。

  但要提醒一點的就是,sqlite跟MySQL....有點不一樣喲.. 我剛開始玩的時候首先就輸入了show databases;結果讓我很揪心,所以在大家用sqlite之前還是建議先學好用法. 我相信你會在嵌入式數據庫中玩的很high的....


免責聲明!

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



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