<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    一江春水向東流

    做一個有思想的人,期待與每一位熱愛思考的人交流,您的關(guān)注是對我最大的支持。

      BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
      44 隨筆 :: 139 文章 :: 81 評論 :: 0 Trackbacks
    下文介紹的內(nèi)容都是基于 Linux RedHat 9.0 平臺的。

    一、PC機(jī)編譯安裝
    請閱讀在安裝包里的 INSTALL 文件。或者使用PEAR installer with "pear install sqlite"。SQLite已經(jīng)內(nèi)置了,你不需要安裝任何附加的軟件(additional software)。
    Windows users可以下載SQLite擴(kuò)展DLL(php_sqlite.dl)。
    這里簡單介紹一下:
    假設(shè)你得到的是源代碼sqlite-3.3.6.tar.gz,這里將告訴你怎么編譯它。
    解壓sqlite-3.3.6.tar.gz 到 /home目錄下
    For example:
    ??? tar zxvf sqlite-3.3.6.tar.gz -C /home???????????
    ??? cd /home
    ??? mkdir sqlite-ix86-linux
    ??? cd /home/sqlite-ix86-linux/
    ??? ../sqlite-3.3.6/configure --prefix=/home/sqlite-ix86-linux/
    編譯并安裝,然后生成幫助文檔???
    ??? make && make install??? ?&& make doc

    如果出現(xiàn)下列錯誤
    ../sqlite-3.3.6/src/tclsqlite.c: In function `DbUpdateHandler':
    ../sqlite-3.3.6/src/tclsqlite.c:333: warning: passing arg 3 of `Tcl_ListObjAppendElement' makes pointer from integer without a cast
    ../sqlite-3.3.6/src/tclsqlite.c: In function `tclSqlFunc':
    ../sqlite-3.3.6/src/tclsqlite.c:419: warning: passing arg 1 of `Tcl_NewByteArrayObj' discards qualifiers from pointer target type
    這個都時tcl相關(guān)的錯誤,可以先安裝ActiveTcl以解決.假如你不需要tcl支持,那么這個錯誤可以這樣避免:
    ??? cd /home/sqlite-ix86-linux/
    ??? ../sqlite-3.3.6/configure --disable-tcl? --prefix=/home/sqlite-ix86-linux/
    編譯并安裝,然后生成幫助文檔???
    ??? make && make install??? ?&& make doc
    不出意外,將不會出現(xiàn)錯誤,那么
    庫文件已經(jīng)生成在 /home/sqlite-ix86-linux/lib 目錄下
    可執(zhí)行文件sqlite3已經(jīng)生成在 /home/sqlite-ix86-linux/bin 目錄下
    下面創(chuàng)建一個新的數(shù)據(jù)庫文件名叫"zieckey.db" (當(dāng)然你可以使用不同的名字) 來測試數(shù)據(jù)庫.
    直接輸入:? /home/sqlite-ix86-linux/bin/sqlite3 test.db
    如果出現(xiàn)下面字樣表明編譯安裝已經(jīng)成功了.
    SQLite version 3.3.6
    Enter ".help" for instructions
    sqlite>


    二、交叉編譯sqlite.3.3.6.tar.gz庫文件
    ??? tar zxvf sqlite-3.3.6.tar.gz -C /home???? (這一步前面已經(jīng)有了,為了完整性,這里還是寫出來)
    ??? mkdir /home/sqlite-arm-linux

    設(shè)置交叉編譯環(huán)境
    ??? export PATH=/usr/local/arm-linux/bin:$PATH
    ???
    ??? cd /home/sqlite-arm-linux/
    ??? ../sqlite-3.3.6/configure? --disable-tcl --prefix=/home/sqlite-arm-linux/ --host=arm-linux
    ??? 這步出現(xiàn)錯誤而沒有生成Makefile
    ??? configure: error: unable to find a compiler for building build tools
    ???
    ??? 前面檢查arm-linux-gcc都通過了,怎么還說沒有找到編譯器呢?花了點(diǎn)時間看configure的腳本,太復(fù)雜了,又結(jié)合 configure.ac看了一下。原來是要設(shè)置config_TARGET_CC和config_BUILD_CC兩個環(huán)境變量。 config_TARGET_CC是交叉編譯器,config_BUILD_CC是主機(jī)編譯器。重來:

    ??? export config_BUILD_CC=gcc
    ??? export config_TARGET_CC=arm-linux-gcc
    ??? ../sqlite-3.3.6/configure? --disable-tcl --prefix=/home/sqlite-arm-linux/ --host=arm-linux
    又出現(xiàn)如下錯誤
    ??? checking for /usr/include/readline.h... configure: error: cannot check for file existence when cross compiling
    說readline.h的錯,找到readline.h在/usr/include/readline/readline.h目錄,我想這樣解決
    ??? ln -s /usr/include/readline/readline.h /usr/include/readline.h
    但還是不行
    ??? ../sqlite-3.3.6/configure? --disable-tcl --prefix=/home/sqlite-arm-linux/ --host=arm-linux
    還是出現(xiàn)如下同樣的錯誤
    ??? checking for /usr/include/readline.h... configure: error: cannot check for file existence when cross compiling
    ???
    上面說是要檢查交叉編譯環(huán)境,我可以肯定我的交叉編譯環(huán)境是正確的,
    所以我決定欺騙configure,我時這樣做的
    ??? cd /home/sqlite-3.3.6
    將該目錄下的 configure 文件的部分內(nèi)容修改下(這里是根據(jù)?? test "$cross_compiling" = yes &&? 找到的 ),
    這樣可以讓configure不去檢查你的交叉編譯環(huán)境。
    ? 20420行 { (exit 1); exit 1; }; }改為 { (echo 1); echo 1; }; }
    ? 20446行 { (exit 1); exit 1; }; }改為 { (echo 1); echo 1; }; }
    ?在回去重新配置下:
    ? ??? cd /home/sqlite-arm-linux/
    ??? ../sqlite-3.3.6/configure? --disable-tcl --prefix=/home/sqlite-arm-linux/ --host=arm-linux
    中間打印信息出現(xiàn)如下錯誤信息,
    checking for /usr/include/readline.h... configure: error: cannot check for file existence when cross compiling
    但是還是生成了Makefile文件一個libtool腳本,這些將在make時用到.???
    注意:
    如果Makefile文件中有如下語句
    BCC = arm-linux-gcc -g -O2
    請將其改掉,改成:
    BCC = gcc -g -O2 ???
    ???
    編譯并安裝
    ??? make && make install??? ?
    這里如果不出意外,將不會出現(xiàn)錯誤,那么
    庫文件已經(jīng)生成在 /home/sqlite-ix86-linux/lib 目錄下????
    posted on 2008-03-27 15:53 allic 閱讀(1923) 評論(0)  編輯  收藏 所屬分類: 開源數(shù)據(jù)庫學(xué)習(xí)研究
    主站蜘蛛池模板: 四虎在线视频免费观看视频| 好看的电影网站亚洲一区| 久久香蕉国产线看免费| 亚洲AV日韩AV一区二区三曲| 亚洲综合色一区二区三区小说| 久久亚洲色一区二区三区| 国产卡二卡三卡四卡免费网址 | 国产免费一区二区三区| 抽搐一进一出gif免费视频| 色综合久久精品亚洲国产| 国产成人精品亚洲日本在线| 亚洲AV无码第一区二区三区| 亚洲中文字幕无码专区| 国产成人高清精品免费鸭子| 在线观看日本免费a∨视频| 中文字幕在线免费观看| 国产zzjjzzjj视频全免费| 18禁免费无码无遮挡不卡网站| 污污网站免费观看| 伊人免费在线观看| 男女拍拍拍免费视频网站| 色婷婷精品免费视频| 亚洲精品无码成人| 亚洲精品美女久久7777777| 国产.亚洲.欧洲在线| 亚洲一级在线观看| 亚洲乱码中文字幕小综合| 亚洲综合激情九月婷婷| 亚洲成A∨人片在线观看无码| 亚洲三级电影网站| 久久丫精品国产亚洲av不卡 | 精品熟女少妇av免费久久| 免费看搞黄视频网站| 日本免费在线观看| 午夜爽爽爽男女免费观看影院| 久久久久久国产精品免费免费男同 | 羞羞视频免费观看| 国产偷国产偷亚洲清高APP| 亚洲欧美在线x视频| 黄色免费网站在线看| 亚洲一级片免费看|