色yeye在线视频观看_亚洲人亚洲精品成人网站_一级毛片免费播放_91精品一区二区中文字幕_一区二区三区日本视频_成人性生交大免费看

當前位置: > 華清遠見教育科技集團 > 嵌入式學習 > 講師博文 > SQLite向arm-linux的移植一
SQLite向arm-linux的移植一
時間:2016-12-14作者:華清遠見

SQLite是一個開源的嵌入式關系數據庫。

一、 SQLite環境的建立:

1. 首先從下載新版本的sqlite源碼包,我下載的是sqlite-amalgamation-3.7.3.tar.gz,并將下載的文件解壓。

2. 在解壓生成的 sqlite-3.7.3 目錄下執行

./configure --host=arm-cortex_a8-linux-gnueabi --prefix=/home/linux/sqlite-arm,其中host為設置交叉編譯器,prefix為設置存放編譯生成文件的目錄,sqlite-arm為跟sqlite-3.7.3同級的目錄

arm-cortex_a8-linux-gnueabi: 編譯器的版本要和內核版本一致,所以要根據自己的情況來決定。

3. 執行上步操作之后會生成Makefile, 打開Makefile文件,找到-DPACKAGE_STRING=\"sqlite\ 3.7.3\"處,把3.7.3前面的“\”和空格刪除。(我使用的這個版本有個錯誤,其他的版本不一定有)

4. 然后直接執行make

(要是這樣make有錯的話,可以在make之前先make clean一下,然后在make),生成可執行文件.

5. 然后再執行make install,配置環境變量。

sqlite-arm目錄下會生成bin、include、share和lib四個目錄。

二、 SQLite數據庫的移植:

1. 去掉/home/linux/project/sqlite-arm目錄下的sqlite3的調示信息(瘦身):$ arm-none-linux-gnueabi-strip sqlite3。

(為了在PC環境下調試,好備份一下sqlite3,一下瘦身的文件同理)

2. 將sqlite3下載到開發板的/usr/bin目錄:

cp sqlite3 /source/rootfs/usr/bin

3、在/home/linux/project/sqlite-arm/lib 中找到libsqlite3.so.0.8.6這個庫文件,去掉調示信息后將libsqlite3.so.0.8.6拷貝到開發板目錄/usr/lib下,在開發板目錄/usr/lib下創建一個符號鏈接:ln -s libsqlite3.so.0.8.6 libsqlite3.so.0。這樣你交叉編譯的程序就可以使用sqlite3數據庫了。

指令如下:

/home/linux/sqlite-arm/lib 下:

$ arm-none-linux-gnueabi-strip libsqlite3.so.0.8.6

cp libsqlite3.so.0.8.6 /source/rootfs/lib

開發板目錄 /lib(/source/rootfs/lib)下:

$ ln -s libsqlite3.so.0.8.6 libsqlite3.so.0

注:libsqlite3.so.0是鏈接到libsqlite3.so.0.8.6的.

三、SQLite的測試:

寫sqlte相關的程序,database_task.c。此處省略了該文件的內容。

四、在PC機上生成執行文件,有兩種方法:

第一種方法:把庫文件放到交叉編譯默認搜索的目錄

(/home/linux/toolchain/arm-cortex_a8-linux-gnueabi/lib)

$ sudo ln -s /home/linux/sqlite-arm/lib/libsqlite3.so.0.8.6 /home/linux/toolchain/arm-cortex_a8-linux-gnueabi/lib/libsqlite3.so

$ arm-cortex_a8-linux-gnueabi-gcc database_task.c -lsqlite3
        $ cp a.out /source/rootfs

第二種方法:直接在交叉編譯時,寫明需要的庫

$ arm-cortex_a8-linux-gnueabi-gcc database_task.c ../sqlite-arm/lib/libsqlite3.so.0.8.6
        cp a.out /source/rootfs

備注:以下命令可以查看執行文件,使用了哪些庫。

$ arm-cortex_a8-linux-gnueabi-ldd --root=/home/linux/toolchain/arm-cortex_a8-linux-gnueabi/lib a.out

若執行了以下命令,代碼文件夾下,就可以沒有sqlite3.h。數據庫文件需要拷貝到開發板目錄(/source/rootfs下)。

$ sudo cp /mnt/hgfs/sh/sqlite3.h /home/linux/toolchain/arm-cortex_a8-linux-gnueabi/include/

發表評論
評論列表(網友評論僅供網友表達個人看法,并不表明本站同意其觀點或證實其描述)
主站蜘蛛池模板: 99久久精品毛片免费播放高清 | 亚洲无专砖码直接进入 | 女人扒开下面无遮挡免费 | 一本大道一卡2卡三卡4 | 色偷偷国色天香在线观看免费视频 | 日韩少妇白浆无码系列 | 夜夜调教禁脔欢爱h | 天天躁日日躁狠狠躁退 | 少妇被粗大的猛烈进出A片久久久 | 男人扒女人添高潮视频 | 少妇极品熟妇人妻 | 韩国男男腐啪GV肉视频 | 天天躁日日躁狠狠躁AV中文 | 麻豆一区二区三区在线观看 | 亚洲精品尤物av在线观看任我爽 | 成+人+网+站+免费观看 | 在线天堂资源www在线中文 | WWW成人国产高清内射 | 天天躁夜夜躁狠狠久久成人网 | 日韩欧美国产激情 | 加勒比中文无码久久综合色 | 欧美人成片免费观看视频 | 含着奶头搓揉深深挺进视频 | 娇小VIDEODES极品 | 国产成人综合95精品视频 | 日本黄区免费视频观看 | 国产精品亚洲日韩欧美色窝窝色欲 | 国产自在自线午夜精品视频 | 欧美亚洲高清国产 | 蝴蝶中文综合娱乐网 | 国产色情老熟女NBA控卫之神 | 欧洲熟妇大荫蒂高潮a片视频 | 天天摸天天碰天天添 | 久久九九日本韩国精品 | 男人的天堂免费一区二区视频 | 欧洲熟妇色XXXX欧美老妇免费 | 无码爽大片日本无码AAA特黄 | 日韩av无码中文一区二区三区 | 香蕉av久久一区二区三区 | 美女裸体无遮挡黄污网站 | 麻豆99|