編譯ARM平臺的QtEmbedded的MySQL插件和移植MySQL_第1頁
編譯ARM平臺的QtEmbedded的MySQL插件和移植MySQL_第2頁
編譯ARM平臺的QtEmbedded的MySQL插件和移植MySQL_第3頁
編譯ARM平臺的QtEmbedded的MySQL插件和移植MySQL_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、編譯ARM平臺的 QtEmbedded的MySQL插件和移植 MySQL到ARM開發(fā)板經(jīng)過幾天的努力,終于交叉編譯出了arm平臺所需Qt/E的MySQL插件(驅(qū)動),其中順便把MySQL也移植到了 mini2410的開發(fā)板上。編譯器:arm-linux-gcc (4.3.2)Pc 平臺:red hat由于mysql本身并不支持交叉編譯,所以編譯過程相對復雜,且各版本有所不同,本文針對 mysql-5.1.32。1、準備工作首先在 /home/bjwlxy 目錄下解壓 mysql-5.1.32.tar.gz,得到 mysql-5.1.32 ,進入目錄運行如下命令:# ./configure -p

2、refix=/usr/local/mysql# make然后將其改名為 mysql-pc備用。(注意不要 # make install)2、Configure再次解壓 mysql-5.1.32.tar.gz,得到 mysql-5.1.32,進入目錄,修改 configure文件# vi configure注釋以下代碼:21948 #if test "$cross_compiling" = yes; then21949 # ( ( $as_echo "$as_me:$LINENO: error: in '$ac_pwd':" >&am

3、p;521950 #$as_echo "$as_me: error: in '$ac_pwd':" >&2;21951 #( ( $as_echo "$as_me:$LINENO: error: cannot run test program whilecross compiling21952 #See 'config.log' for more details." >&521953 #$as_echo "$as_me: error: cannot run test program w

4、hile cross compiling21954 #See 'config.log' for more details." >&2;21955 # ( (exit 1); exit 1; ; ; 21956 #else22025 #fi30317 # if test "$cross_compiling" = yes; then30318 # ( ( $as_echo "$as_me:$LINENO: error: in '$ac_pwd':" >&530319 #$as_echo &

5、quot;$as_me: error: in '$ac_pwd':" >&2;30320 #( ( $as_echo "$as_me:$LINENO: error: cannot run test program whilecross compiling30321 #See 'config.log' for more details." >&530322 #$as_echo "$as_me: error: cannot run test program while cross compiling

6、30323 #See 'config.log' for more details." >&2;30324 # ( (exit 1); exit 1; ; ; 30325 #else30408 #fi保存退出。# ./configure -host=arm-linux -prefix=/usr/local/mysql如果出現(xiàn)錯誤error: No curses/termcap library found再次配置#./configure -host=arm-linux -with-named-curses-libs=/usr/lib/libncurses.s

7、o.5 -prefix=/usr/local/mysql3、Make# make出現(xiàn)錯誤1/usr/lib/libncurses.so.5: could not read symbols: Invalid operationead symbols: Invalid operation這個是因為libncurses.so.5運行平臺不是arm所致,這時,需要我們手動交叉編譯 libncurses.so.5文件,方法和下面的類似:1、下載 ncurses-5.6.tar.gz 安裝包,#cd home解壓包#tar zxvf ncurses-5.6.tar.gz#cd ncurses-5.6配置#

8、./configure -host=arm-linux -prefix=/usr -with-shared -without-debug#make2、備份 /usr/lib/ 里面的 libncurses.so.5 , libncurses.so.5.6cp /usr/lib/libncurses.so.5 /usr/lib/libncurses.so.5.bakcp /usr/lib/libncurses.so.5.6 /usr/lib/libncurses.so.5.6.bak復制 ncurses-5.6/lib 目錄下交叉編譯過的libncurses.so.5 , libncurses.

9、so.5.6 至ij/usr/lib/#cp lib/libncurses.so.5 /usr/lib/#cp lib/libncurses.so.5.6 /usr/lib/接著#cd /home/bjwlxy/mysql-5.1.32繼續(xù)#make出現(xiàn)錯誤2make2: Leaving directory '/home/zhaowg/mysql-pc/sql'./gen_lex_hash > lex_hash.h-t/bin/sh: ./gen_lex_hash: cannot execute binary filemake1: * lex_hash.h 錯誤 126這

10、是由于編譯的 arm類型的程序不能在PC上運行造成的,于是前面做的準備工作派上用場了:# cp ./mysql-pc/sql/gen_lex_hash sql/# make錯誤3sql_parse.cc:5432:21: operator '<' has no left operandmake3: * sql_parse.o車昔誤 1檢查sql_parse.cc的5432行,發(fā)現(xiàn)宏變量 STACK_DIRECTION沒有定義初值,網(wǎng)上查找資料發(fā)現(xiàn)arm中定義STACK_DIRECTION 為1,于是在文件開 5432的上一行 加上#vi sql/sql_parse.cc#

11、 define STACK_DIRECTION 1保存退出。# make完成4、make install# make install會停在make INSTALL_TO_DIR="/usr/local/mysql/mysql-test" install_test_filesmake4: Entering directory '/home/zhaowg/mysql-pc/mysql-test'一段時間,不要以為出錯了,耐心等一會! 到此,編譯arm平臺的mysql基本完成。編譯arm平臺的QtEmbedded的mysql插件進入Qt/E目錄#cd $QTDIR

12、/src/plugins/sqldrivers/mysql#qmake "INCLUDEPA TH+=/usr/local/mysql/include/mysql” "LIBS+=-L/usr/local/mysql/lib/mysql -lmysqlc lient_r" #make#make install#cd $QTDIR/plugins/sqldrivers/#ls如果出現(xiàn)libqsqlite.so ,說明編譯成功。移植MySQI®開發(fā)板將/usr/local目錄下的mysql文件夾拷貝到開發(fā)板的/usr/local目錄下,并

13、在環(huán) 境變量里面聲明。# export PATH=" $PTTH:/usr/local/mysql/bin”6、開啟mysqld服務(wù)首先將以下內(nèi)容保存為 /etc/my.confmysqlddatadir=/var/lib/mysqlsocket=/tmp/mysql.sockuser=root# Default to using old password format for compatibility with mysql 3.x# clients (those using the mysqlclient10 compatibility package).old_passwords=1mysqld_safelog-error=/var/log/mysqld.logpid-file=/var/run/mysqld/mysqld.pid因為在/var/run

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論