色偷偷偷亚洲综合网另类,亚洲欧美另类在线观看,欧美午夜激情在线,久久久精品一区

當(dāng)前位置: > 華清遠(yuǎn)見(jiàn)教育科技集團(tuán) > 嵌入式學(xué)習(xí) > 講師博文 > SQLite向arm-linux的移植一
SQLite向arm-linux的移植一
時(shí)間:2016-12-14作者:華清遠(yuǎn)見(jiàn)

SQLite是一個(gè)開源的嵌入式關(guān)系數(shù)據(jù)庫(kù)。

一、 SQLite環(huán)境的建立:

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

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

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

arm-cortex_a8-linux-gnueabi: 編譯器的版本要和內(nèi)核版本一致,所以要根據(jù)自己的情況來(lái)決定。

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

4. 然后直接執(zhí)行make

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

5. 然后再執(zhí)行make install,配置環(huán)境變量。

sqlite-arm目錄下會(huì)生成bin、include、share和lib四個(gè)目錄。

二、 SQLite數(shù)據(jù)庫(kù)的移植:

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

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

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

cp sqlite3 /source/rootfs/usr/bin

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

指令如下:

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

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

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

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

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

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

三、SQLite的測(cè)試:

寫sqlte相關(guān)的程序,database_task.c。此處省略了該文件的內(nèi)容。

四、在PC機(jī)上生成執(zhí)行文件,有兩種方法:

第一種方法:把庫(kù)文件放到交叉編譯默認(rèn)搜索的目錄

(/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

第二種方法:直接在交叉編譯時(shí),寫明需要的庫(kù)

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

備注:以下命令可以查看執(zhí)行文件,使用了哪些庫(kù)。

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

若執(zhí)行了以下命令,代碼文件夾下,就可以沒(méi)有sqlite3.h。數(shù)據(jù)庫(kù)文件需要拷貝到開發(fā)板目錄(/source/rootfs下)。

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

發(fā)表評(píng)論
評(píng)論列表(網(wǎng)友評(píng)論僅供網(wǎng)友表達(dá)個(gè)人看法,并不表明本站同意其觀點(diǎn)或證實(shí)其描述)
色偷偷偷亚洲综合网另类,亚洲欧美另类在线观看,欧美午夜激情在线,久久久精品一区
主站蜘蛛池模板: 美女性感视频久久久| 欧美综合第一页| 欧美精品免费在线| 精品高清美女精品国产区| 久久99热精品| 欧美精品久久一区二区| 国产+人+亚洲| 国产极品jizzhd欧美| 亚洲影影院av| 在线成人一区二区| 九九久久久久久久久激情| 欧美激情综合色综合啪啪五月| 97色在线视频| 成人免费午夜电影| 亚洲天堂男人天堂| 懂色av影视一区二区三区| 91av在线免费观看| 亚洲综合第一页| 最近2019年中文视频免费在线观看| 美女视频久久黄| 日本国产一区二区三区| 亚洲一区二区三区乱码aⅴ蜜桃女 亚洲一区二区三区乱码aⅴ | 国产一区二区三区中文| 久久中文字幕一区| 久久理论片午夜琪琪电影网| 国产精品永久在线| 在线亚洲国产精品网| 欧美激情免费在线| 亚洲自拍偷拍第一页| 久久久精品国产亚洲| 国产成人亚洲精品| 亚洲欧美精品suv| 欧美视频中文字幕在线| 国产日韩精品在线观看| 伊人久久综合97精品| 欧美亚洲另类在线| 精品亚洲一区二区三区在线播放 | 日韩精品视频在线观看免费| 久久成人人人人精品欧| 国产免费一区二区三区香蕉精| 色偷偷91综合久久噜噜|