mysql在单片机移植_将mysql库移植到arm板上

首先更新虚拟机下载源

sudo apt-get update

在安装mysql时./configure容易出现错误error: No curses/termcap library found

原因是缺少ncurses安装包

解决方法:

sudo apt-cache search ncurses

sudo apt-get install libncurses5-dev

如果要将库移植到arm板上的话就需要下载ncurses包进行安装

下载ncurses-5.9.tar.gz

ftp://ftp.gnu.org/gnu/ncurses/ncurses-5.9.tar.gz

先安装ncurses

tar -xzvf ncurses-5.9.tar.gz

mkdir ncurses

cd ncurses-5.9/

./configure --prefix=/home/farsight/ncurses CC=arm-none-linux-gnueabi-gcc --host=arm-none-linux-gnueabi --enable-static --enable-shared

make

make install

安装完成后,开始编译mysql库

首先下载mysql数据库源码http://download.chinaunix.net/download.php?id=34712&ResourceID=7159

将源码拷贝到虚拟机中并解压,进入源码文件

tar xzvf mysql-5.1.51.tar.gz

mkdir mysql

cd mysql-5.1.51/

修改文件中的configure配置文件(注释掉不允许交叉编译的部分)

修改配置文件:打开configure,可以使用gedit configure 分别在第26453行、 48175行、 48282行、 48485行附近有类似代码:

if test "$cross_compiling" = yes; then

{ { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}

{ { $as_echo "$as_me:$LINENO: error: cannot run test program while cross

compiling See \`config.log' for more details." >&5

$as_echo "$as_me: error: cannot run test program while cross compiling See \`config.log' for more details." >&2;}

{ (exit 1); exit 1; }; }; }

Else

将这些代码改为:

if test "$cross_compiling" = yes;  then

echo “skip …..!”

#{ { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 #$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}

#{ { $as_echo "$as_me:$LINENO: error: cannot run test program while cross compiling See \`config.log' for more details." >&5

#$as_echo "$as_me: error: cannot run test program while cross compiling See \`config.log' for more details." >&2;}

#{ (exit 1); exit 1; }; }; }

Else

一定注意,这样的代码有4部分,要全部改掉

接下来进行库的安装

./configure --prefix=/home/farsight/mysql CC=arm-none-linux-gnueabi-gcc --host=arm-none-linux-gnueabi

--enable-static --enable-shared预处理

make 编译(在这个过程中可能会出现一个错误,但是对库的影响不大,可忽略)

make install 下载并安装

完成后可在mysql中出现五个文件夹

需要将include文件夹下的文件考到/usr/include下进行编译

将lib文件夹下的内容拷贝到arm板的lib文件夹下

在虚拟机中进行编译时需要注意如果连接不到库可在编译时加入连接库的方式

-L//home/farsight/mysql/lib/mysql

你可能感兴趣的:(mysql在单片机移植)