1、下載源代碼http://www.sqlite.org/download.html
2、tar -zxvf sqlite-amalgamation-3.6.23.1.tar.gz
3、進(jìn)入sqlite-3.6.23.1
4、mkdir build
5、cd build
6、../configure --host=arm-linux --prefix=/usr/local/sqlite3 注意:使用arm-linux-gcc 3.4.5時(shí)出現(xiàn)如下錯(cuò)誤 checking for C compiler default output file name... configure: error: C compiler cannot create executables See `config.log' for more details.
懷疑沒(méi)有寫(xiě)權(quán)限,使用如下配置通過(guò) sudo ../configure --host=arm-linux --prefix=/usr/local/sqlite3 移植到開(kāi)發(fā)板上無(wú)法運(yùn)行,使用下面配置 ../configure --host=arm-unknown-linux-gnu --prefix=/usr/local/sqlite3
7、make
出現(xiàn)問(wèn)題: arm-none-linux-gnueabi-gcc: 3.6.23.1': No such file or directory < command-line>: warning: missing terminating ' character ^Cmake: *** [sqlite3.lo] 錯(cuò)誤 1
解決:
Makefile中 -DPACKAGE_STRING='sqlite 3.6.23.1' 改為: -DPACKAGE_STRING='sqlite_3.6.23.1'
8、sudo make install
出現(xiàn)問(wèn)題: arm-linux-ranlib /usr/local/sqlite3/lib/libsqlite3.a ./libtool: line 6619: arm-linux-ranlib: command not found make[1]: *** [install-libLTLIBRARIES] 錯(cuò)誤 127 make[1]:正在離開(kāi)目錄 `/work/development/sqlite/sqlite-3.6.23.1/build' make: *** [install-am] 錯(cuò)誤 2
原因:root權(quán)限的時(shí)候沒(méi)有設(shè)置arm-linux 的PATH
解決: su 根用戶(hù)登錄 export PATH=$PATH:/work/tools/arm/bin
make install
9、cd /usr/local/sqlite3
10、cp -arf bin include lib /work/nfs_root/sqlite/ 復(fù)制到nfs共享文件夾下
11、mount -t nfs -o intr,nolock,rsize=1024,wsize=1024 192.168. 0.128:/work/nfs_root /mnt/nfs/ mount nfs文件系統(tǒng)
12、cp /mnt/nfs/sqlite/bin/* /usr/bin/ mkdir /usr/lib cp -arf /mnt/nfs/sqlite/lib/* /usr/lib/ mkdir /usr/include cp /mnt/nfs/sqlite/include/* /usr/include/
13、開(kāi)發(fā)板上創(chuàng)建數(shù)據(jù)庫(kù) # /usr/bin/sqlite3 demo SQLite version 3.6.23.1 Enter '.help' for instructions Enter SQL statements terminated with a ';' sqlite> create table tbl_demo(uid int, uname varchar(20)); sqlite> insert into tbl_demo values(1, 'jimmy'); sqlite> insert into tbl_demo values(2, 'srp'); sqlite> .quit
14、編寫(xiě)測(cè)試程序test.c
#include #include #include 'sqlite3.h' static int callback(void *NotUsed, int argc, char **argv, char **azColName) { int i; for(i=0; i } printf('n'); return 0; } int main(int argc, char **argv) { sqlite3 *db; char *zErrMsg = 0; int rc; if( argc!=3 ){ fprintf(stderr, 'Usage: %s DATABASE SQL-STATEMENTn', argv[0]); exit(1); } rc = sqlite3_open(argv[1], &db); if( rc ){ fprintf(stderr, 'Can't open database: %sn', sqlite3_errmsg(db)); sqlite3_close(db); exit(1); } rc = sqlite3_exec(db, argv[2], callback, 0, &zErrMsg); if( rc!=SQLITE_OK ){ fprintf(stderr, 'SQL error: %sn', zErrMsg); sqlite3_free(zErrMsg); } sqlite3_close(db); return 0; } #include #include #include 'sqlite3.h' static int callback(void *NotUsed, int argc, char **argv, char **azColName) { int i; for(i=0; i } printf('n'); return 0; } int main(int argc, char **argv) { sqlite3 *db; char *zErrMsg = 0; int rc; if( argc!=3 ){ fprintf(stderr, 'Usage: %s DATABASE SQL-STATEMENTn', argv[0]); exit(1); } rc = sqlite3_open(argv[1], &db); if( rc ){ fprintf(stderr, 'Can't open database: %sn', sqlite3_errmsg(db)); sqlite3_close(db); exit(1); } rc = sqlite3_exec(db, argv[2], callback, 0, &zErrMsg); if( rc!=SQLITE_OK ){ fprintf(stderr, 'SQL error: %sn', zErrMsg); sqlite3_free(zErrMsg); } sqlite3_close(db); return 0; } 15、編譯 arm-linux-gcc test.c -I /usr/local/sqlite3/include -L /usr/local/sqlite3/lib -lsqlite3 -o test 16、將test拷貝到開(kāi)發(fā)板與數(shù)據(jù)庫(kù)demo同一個(gè)目錄下 sqlite demo test 17、運(yùn)行 # ./test demo 'select * from tbl_demo' uid = 1 uname = jimmy uid = 2 uname = srp 18、sqlite移植成功 注意: #gcc test.c -I /usr/local/sqlite3/include -L /usr/local/sqlite3/lib -lsqlite3 -o test /usr/bin/ld: skipping incompatible /usr/local/sqlite3/lib/libsqlite3.so when searching for -lsqlite3 /usr/bin/ld: skipping incompatible /usr/local/sqlite3/lib/libsqlite3.a when searching for -lsqlite3 /usr/bin/ld: cannot find -lsqlite3 collect2: ld 返回 1 原因:sqlite是使用arm-linux-gcc編譯的,所以使用的gcc與arm-linux-gcc不兼容
上一篇:UT-S3C6410 android系統(tǒng)實(shí)現(xiàn)同伙usb wifi無(wú)線(xiàn)上網(wǎng)功能
下一篇:第五章 搭建S3C6410開(kāi)發(fā)板的測(cè)試環(huán)境 心得筆記
- 熱門(mén)資源推薦
- 熱門(mén)放大器推薦
設(shè)計(jì)資源 培訓(xùn) 開(kāi)發(fā)板 精華推薦
- 【下載】LAT1526 利用SPI的下溢實(shí)現(xiàn)回顯功能
- 【下載】LAT1509 STM32G0B1的FDCAN進(jìn)行通信丟包和多包案例分享
- 【下載】LAT1511 運(yùn)行Ux_Host_HUB_HID_MSC通過(guò)Hub連接U盤(pán)讀寫(xiě)不穩(wěn)定問(wèn)題分析
- 【下載】LAT1466 USB x Device HID Standalone的移植
- 【下載】LAT1488 STM32 USBxDevice MSC standalone移植示例
- 【下載】LAT1482 STM32G0單線(xiàn)串口通信幀錯(cuò)誤問(wèn)題解析
- 神經(jīng)形態(tài)芯片可能是革新機(jī)器人實(shí)時(shí)電機(jī)控制的未來(lái)
- 從三個(gè)方面理解ARM嵌入式系統(tǒng)
- 自動(dòng)報(bào)警 基于MCU的家庭防盜報(bào)警系統(tǒng)的設(shè)計(jì)
- 存儲(chǔ)控制器及其訪(fǎng)問(wèn)外設(shè)的原理
- 基于51系列單片機(jī)的智能照明控制系統(tǒng)設(shè)計(jì)方案
- 基于STM32的四旋翼飛行器控制系統(tǒng)
- 單片機(jī)應(yīng)用編程技巧解析
- 基于89C52的教室智能節(jié)能照明系統(tǒng)設(shè)計(jì)
- 一種新型的雨量光照傳感器的設(shè)計(jì)
- MIC4680 的典型應(yīng)用:1A 200kHz 超級(jí)開(kāi)關(guān)降壓穩(wěn)壓器
- NCV8402AMNWT1GEVB:NCV8402A DFN6 WF 評(píng)估板
- 用于 Intel 486TM DX4TM Overdrive 微處理器的 LT1585CM 4.6A 低壓差穩(wěn)壓器的典型應(yīng)用
- 具有 10V 柵極驅(qū)動(dòng)器的 LTC3892MPUH-2 高效率、雙路 5V/12V 輸出同步降壓轉(zhuǎn)換器的典型應(yīng)用電路
- LT4356-3/LT4356MP-3 浪涌抑制器的典型應(yīng)用,具有故障鎖定關(guān)斷功能
- MIKROE-2800,帶有兩個(gè)基于 PIC32MZ 32 位 MCU 的 mikroBUS 插座的 Clicker 2 PIC32MZ 開(kāi)發(fā)套件
- LT1072CT 高效、外部限流穩(wěn)壓器的典型應(yīng)用
- 使用 ON Semiconductor 的 KA78R05 的參考設(shè)計(jì)
- AD5327 4 緩沖、12 位 DAC 在光電隔離接口中的典型應(yīng)用
- LT3755IUD-1 50W 白光 LED 頭燈驅(qū)動(dòng)器的典型應(yīng)用電路
- 振棒料位開(kāi)關(guān)與音叉料位開(kāi)關(guān)的區(qū)別
- 臺(tái)系三大IC載板廠(chǎng)回應(yīng)蘇州限電:暫無(wú)大影響
- ADI發(fā)布集成精密庫(kù)侖計(jì)數(shù)器的納安級(jí)功耗原電池SoH監(jiān)控器
- Gartner預(yù)測(cè)芯片短缺將十大汽車(chē)主機(jī)廠(chǎng)50%在2025年自主設(shè)計(jì)芯片
- 新潔能:公司SiC MOSFET等產(chǎn)品正處在流片驗(yàn)證階段
- 露笑科技:6英寸碳化硅襯底晶片已經(jīng)形成銷(xiāo)售
- 黑客宣稱(chēng)竊取了微軟37GB源代碼 涵蓋Bing與Cortana
- 高性能電動(dòng)滑板車(chē) BLDC 電機(jī)驅(qū)動(dòng)器:技術(shù)解析與應(yīng)用展望
- 5G工業(yè)網(wǎng)關(guān)的“邊緣計(jì)算+AI推理”一體化設(shè)計(jì),PLC協(xié)議解析與缺陷檢測(cè)的實(shí)時(shí)聯(lián)動(dòng)
- AR眼鏡的“工業(yè)指令投射”系統(tǒng),SLAM的空間定位、PLC數(shù)據(jù)實(shí)時(shí)疊加顯示
- 多光譜氣體傳感器的抗交叉干擾設(shè)計(jì)
- 多模態(tài)融合感知的“語(yǔ)義-幾何”聯(lián)合建模
- 工業(yè)觸摸屏的“壓感-手勢(shì)”多模態(tài)交互設(shè)計(jì)
- 工業(yè)機(jī)器人高精度力控的“雙模融合”傳感器設(shè)計(jì)
- 工業(yè)機(jī)器人集群的“數(shù)字孿生-物理實(shí)體”閉環(huán)優(yōu)化
- 工業(yè)以太網(wǎng)交換機(jī)的“時(shí)間敏感網(wǎng)絡(luò)(TSN)”改造
- 工業(yè)現(xiàn)場(chǎng)信號(hào)測(cè)試:耦合方式選擇實(shí)戰(zhàn)案例
- 美國(guó)是如何摧毀日本芯片產(chǎn)業(yè)的?
- 公共法律服務(wù)中心智能機(jī)器人“上崗”服務(wù)
- 工信部發(fā)出倡議,希望和全世界半導(dǎo)體公司合作
- 助力工業(yè)物聯(lián)網(wǎng),NI 打造邊緣智算
- 強(qiáng)大的步進(jìn)伺服模塊
- 遙感邂逅AI的價(jià)值與需求,新機(jī)遇也是新挑戰(zhàn)
- 吳軍捕風(fēng)捉影式的“口嗨”將三家科技巨頭推至輿論的風(fēng)口
- 改造升級(jí)傳統(tǒng)設(shè)備,5G何時(shí)能夠融入機(jī)器視覺(jué)領(lǐng)域?
- LCD與OLED有何區(qū)別??jī)烧卟豢偸嵌荚谶M(jìn)步么?
- 從CRT、PDP到OLED、激光,下一代的未來(lái)顯示將會(huì)是什么?