arm qt mysql插件_编译arm平台的qtembedded的mysql插件和移植mysql.doc

41528d3028836879cd698677c3999917.gif编译arm平台的qtembedded的mysql插件和移植mysql.doc

编译ARM平台的QTEMBEDDED的MYSQL插件和移植MYSQL到ARM开发板经过几天的努力,终于交叉编译出了ARM平台所需QT/E的MYSQL插件(驱动),其中顺便把MYSQL也移植到了MINI2410的开发板上。编译器ARMLINUXGCC432PC平台REDHAT由于MYSQL本身并不支持交叉编译,所以编译过程相对复杂,且各版本有所不同,本文针对MYSQL5132。1、准备工作首先在/HOME/BJWLXY目录下解压MYSQL5132TARGZ,得到MYSQL5132,进入目录运行如下命令/CONFIGUREPREFIX/USR/LOCAL/MYSQLMAKE然后将其改名为MYSQLPC备用。注意不要MAKEINSTALL2、CONFIGURE再次解压MYSQL5132TARGZ,得到MYSQL5132,进入目录,修改CONFIGURE文件VICONFIGURE注释以下代码21948IFTEST“CROSS_COMPILING“YESTHEN21949{{AS_ECHO“AS_MELINENOERRORIN\AC_PWD “}21951{{AS_ECHO“AS_MELINENOERRORCANNOTRUNTESTPROGRAMWHILECROSSCOMPILING21952SEE\CONFIGLOG OREDETAILS“}21955{EXIT1EXIT1}}}21956ELSE22025FI30317IFTEST“CROSS_COMPILING“YESTHEN30318{{AS_ECHO“AS_MELINENOERRORIN\AC_PWD “}30320{{AS_ECHO“AS_MELINENOERRORCANNOTRUNTESTPROGRAMWHILECROSSCOMPILING30321SEE\CONFIGLOG OREDETAILS“}30324{EXIT1EXIT1}}}30325ELSE30408FI保存退出。/CONFIGUREHOSTARMLINUXPREFIX/USR/LOCAL/MYSQL如果出现错误ERRORNOCURSES/TERMCAPLIBRARYFOUND再次配置/CONFIGUREHOSTARMLINUXWITHNAMEDCURSESLIBS/USR/LIB/LIBNCURSESSO5PREFIX/USR/LOCAL/MYSQL3、MAKEMAKE出现错误1/USR/LIB/LIBNCURSESSO5COULDNOTREADSYMBOLSINVALIDOPERATIONEADSYMBOLSINVALIDOPERATION这个是因为LIBNCURSESSO5运行平台不是ARM所致,这时,需要我们手动交叉编译LIBNCURSESSO5文件,方法和下面的类似1、下载NCURSES56TARGZ安装包,CDHOME解压包TARZXVFNCURSES56TARGZCDNCURSES56配置/CONFIGUREHOSTARMLINUXPREFIX/USRWITHSHAREDWITHOUTDEBUGMAKE2、备份/USR/LIB/里面的LIBNCURSESSO5,LIBNCURSESSO56CP/USR/LIB/LIBNCURSESSO5/USR/LIB/LIBNCURSESSO5BAKCP/USR/LIB/LIBNCURSESSO56/USR/LIB/LIBNCURSESSO56BAK复制NCURSES56/LIB目录下交叉编译过的LIBNCURSESSO5,LIBNCURSESSO56到/USR/LIB/CPLIB/LIBNCURSESSO5/USR/LIB/CPLIB/LIBNCURSESSO56/USR/LIB/接着CD/HOME/BJWLXY/MYSQL5132继续MAKE}出现错误2MAKE2LEAVINGDIRECTORY/HOME/ZHAOWG/MYSQLPC/SQL /GEN_LEX_HASHLEX_HASHHT/BIN/SH/GEN_LEX_HASHCANNOTCUTEBINARYFILEMAKE1LEX_HASHH错误126这是由于编译的ARM类型的程序不能在PC上运行造成的,于是前面做的准备工作派上用场了CP/MYSQLPC/SQL/GEN_LEX_HASHSQL/MAKE错误3SQL_PARSECC543221OPERATOR HASNOLEFTOPERANDMAKE3SQL_PARSEO错误1检查SQL_PARSECC的5432行,发现宏变量STACK_DIRECTION没有定义初值,网上查找资料发现ARM中定义STACK_DIRECTION为1,于是在文件开5432的上一行加上VISQL/SQL_PARSECCDEFINESTACK_DIRECTION1保存退出。MAKE完成4、MAKEINSTALLMAKEINSTALL会停在MAKEINSTALL_TO_DIR“/USR/LOCAL/MYSQL/MYSQLTEST“INSTALL_TEST_FILESMAKE4ENTERINGDIRECTORY/HOME/ZHAOWG/MYSQLPC/MYSQLTEST 一段时间,不要以为出错了,耐心等一会到此,编译ARM平台的MYSQL基本完成。编译ARM平台的QTEMBEDDED的MYSQL插件进入QT/E目录CDQTDIR/SRC/PLUGINS/SQLDRIVERS/MYSQLQMAKE“INCLUDEPATH/USR/LOCAL/MYSQL/INCLUDE/MYSQL““LIBSL/USR/LOCAL/MYSQL/LIB/MYSQLLMYSQLCLIENT_R“MYSQLPROMAKEMAKEINSTALLCDQTDIR/PLUGINS/SQLDRIVERS/LS如果出现LIBQSQLITESO,说明编译成功。移植MYSQL到开发板将/USR/LOCAL目录下的MYSQL文件夹拷贝到开发板的/USR/LOCAL目录下,并在环境变量里面声明。EXPORTPATH”PATH/USR/LOCAL/MYSQL/BIN”6、开启MYSQLD服务首先将以下内容保存为/ETC/MYCONFMYSQLDDATADIR/VAR/LIB/MYSQLSOCKET/TMP/MYSQLSOCKUSERROOTDEFAULTTOUSINGOLDPASSWORDATFORCOMPATIBILITYWITHMYSQL3XCLIENTSTHOSEUSINGTHEMYSQLCLIENT10COMPATIBILITYPACKAGEOLD_PASSWORDS1MYSQLD_SAFELOGERROR/VAR/LOG/MYSQLDLOGPIDFILE/VAR/RUN/MYSQLD/MYSQLDPID因为在/VAR/RUN目录下没有MYSQLD/MYSQLDPID,手工建立MKDIR/VAR/RUN/MYSQLDTOUCH/VAR/RUN/MYSQLD/MYSQLDPID开启服务MYSQL_INSTALL_DB–UROOTMYSQLD_SAFE–SOCKET/TMP/MYSQLSOCK至此,MYSQL运行在ARM开发板上了这里特别感谢作者ZHAO

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值