2、我用mips交叉编译器编译过mysql-5.1.34,遇到的情况和那篇文章差不多。
3、我的编译过程:
1)先编译一份x86版本的mysql(因为交叉编译过程中要用到一个x86版本的工具gen_lex_hash sql)
2)配置交叉编译环境,用以下选项和参数:
ac_cv_sys_restartable_syscalls='no'
--host=mipsel-linux
--with-named-curses-libs=<你的 交叉编译器中libncurses.a的全路径>
3)make到gen_lex_hash错误时,将x86编译结果中的gen_lex_hash拷过来
4)再启动make,到sql_parse.cc错误时,修改这个文件:
vi ../sql/sql_parse.cc
将那个出错的宏定义一下:
#define STACK_DIRECTION 1
5)再make就可以了。
mysql交叉编译后最小(10)的10表示显示的数据的长度,不是存储数据的大小;chart(10)和varchar(10)的10表示存储数据的大小,即表示存储多少个字符。 int(10) 10位的数据长度 9999999999,占32个字节,int型4位 char(10) 10位固定字符串,不足补空格 最多10个字符 varchar(10) 10位可变字符串,不足补空格 最多10个字符char(10)表示存储定长的10个字符,不足10个就用空格补齐,占用更多的存储空间varchar(10)表示存储10个变长的字符,存储多少个就是多少个,空格也按一个字符存储,这一点是和char(10)的空格不同的,char(10)的空格表示占位不算一个字符MySQL没有专门针对ARM的版本,移植到ARM没有官方文档可参考,可以使用mysql的5.1.51版本进行完成移植安装编译器:用的是4.3.2的交叉编译器。gcc之类的都是ubuntu10.10自带的。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)