Linux下交叉編譯sqlite3並移植到AR…
阿新 • • 發佈:2019-02-05
交叉編譯sqlite3的目的(作用):能在x86的平臺下交叉編譯出能在ARM開發板執行的程式。
將sqlite3移植到ARM的目的(作用):能在ARM開發板上建資料庫和對資料庫進行增刪查改。
交叉編譯sqlite3
安裝的操作過程基本跟在Linux下安裝x86平臺的sqlite3一樣:Linux下安裝sqlite3
當然,安裝之前你得確認你的系統有交叉編譯工具鏈,可以通過命令 arm-linux-gcc -v 檢視。
解壓:tar -xvf sqlite-autoconf-3071502.tar.gz
進入目錄:cd sqlite-autoconf-3071502
新建一個安裝目錄:mkdri my_install
執行:./configure --host=arm-linux --prefix=安裝目錄的完整路徑
引數 --host=arm-linux 的作用是指明執行環境
編譯並安裝:make && make install
將庫檔案和標頭檔案複製到交叉編譯工具鏈的lib目錄和include目錄中:
cp 安裝目錄/lib/libsqlite3.so libsqlite3.so.0
libsqlite3.so.0.8.6 /.../交叉編譯工具鏈目錄/usr/lib
cp 安裝目錄/include/sqlite3.h
/.../交叉編譯工具鏈目錄/usr/include
如果複製庫檔案時導致失去了連結關係,則在lib目錄下重新連結一下:
ln -s libsqlite3.so.0.8.6 libsqlite3.so.0
ln -s libsqlite3.so.0.8.6 libsqlite3.so
保險的做法是保持連結複製:
即cp的引數使用-af(-a: 保持原始檔的原有結構和屬性;
-f:強制覆蓋已經存在的目標檔案,而不提示使用者進行確認)
編譯時,使用命令:arm-linux-gcc sqlitest.c -o sqlitest -l sqlite3
移植到ARM開發板上
要將sqlite移植到ARM開發板上,只需要:
將libsqlite3.so libsqlite3.so.o
libsqlite3.so.0.8.6三個檔案複製到ARM開發板的/lib目錄下,將sqlite3複製到根目錄下即可(也可以其他目錄下)。
複製到開發板之前可以使用命令arm-linux-strip去掉sqlite3和庫檔案libsqlite3.so.0.8.6中的除錯資訊,大大減少所佔的空間:
arm-linux-strip sqlite3
arm-linux-strip libsqlite3.so.0.8.6