EDA365电子论坛网

标题: arm-linux-gcc编译报错:libc.so format not recognized.哪位大神见过这个错误 [打印本页]

作者: littlestupid    时间: 2019-9-24 15:52
标题: arm-linux-gcc编译报错:libc.so format not recognized.哪位大神见过这个错误

开发板是一个实验室网关(HBE-UBI-box2),用来收集传感器传来的信息的。将写好的C文件通过arm-linux-gcc编译器编译成cgi文件(编译命令:arm-linux-gcc -o info.cgi info.c)info.c是我写的文件。编译好了之后传到网关里面,然后访问网关就可以看到编程实现的结果了。
& R/ o! Y) g, j8 ~+ i可是,前几天导师说网关不能同时支持大量的访问,要我把网关收集的传感器数据传到实验室的服务器上,然后写个网站来访问服务器上的数据。。。好吧,我也不敢反抗,默默的在服务器上建好了MySQL数据库,写了几个jsp来访问数据库,都弄好了。
5 N; e  ~2 i4 r6 v; _0 e可是把数据从网关传到服务器时确碰到难题了。我刚开始以为很简单,直接把之前
3 U# Z/ K% [2 g8 P2 b没有连接mysql数据库的代码加了这段代码:/ x4 w, y  _8 L* W0 [
int connmysql(){

      MYSQL mysql, *sock;        mysql_init(&mysql);      if (!(sock = mysql_real_connect(&mysql, "XXX", "XXX", "XXX", "XXX", 0, NULL, 0)))      {      printf("Cannot connect to database:%s\n",mysql_error(sock));      return 0;      }  

char sqlbuf[200] = "INSERT INTO sensordata VALUES('0','sstatus.id','sstatus.illumi','sstatus.temp','sstatus.humid','sstatus.battery');";

   if (mysql_query(sock, sqlbuf))     {      printf("Query Failed:%s", mysql_error(sock));      return 0;     }     mysql_close(sock);return 0;

}

其中那个连接数据库语句中的IP地址和用户名密码数据库名都是正确的,我用XXX代替了~。。。

代码也写好了,可是我在用arm-linux-gcc -o 编译的时候却报错了,百度了下,发现自己想的太简单了。按照别人的指导,在虚拟机Ubuntu上又装了mysql的客户机和服务器。, }9 x0 j, N( \; R8 w
1. sudo apt-get install mysql-server* z; b; H! I, j. b
2. apt-get install mysql-client! O- w, @3 p& _7 |" @( H0 d
3. sudo apt-get install libmysqlclient-dev+ j% O# z+ H% l
编译的命令也找了许多,大致就是要加上编译时用到的库的路径,最后采用的命令如下:arm-linux-gcc -I'/usr/include/mysql' -L'/usr/lib/i386-linux-gnu' -lmysqlclient -lpthread -lz -lm -lrt -ldl -o info.cgi mysql-info.c 6 V' N$ c* g; g% ^0 |# x- F0 l. d
这个时候噩梦开始了,一开始报了好多错,我只好一个个排查解决,其中辛酸暂且不表,但是最后还是有一个无法解决:* L  \+ [, W4 N: ?/ y1 E+ s

, i. ?' F+ b, G
报的错说是:libc.so 的文件格式不被认可和解析错误。找了好久没找到适合arm编程的libc.so文件,只能上这求救了,各位大神如有解决办法,或者对于这个项目的思路有什么新的思路(即不用通过arm连接mysql也可以实现相同功能)烦请指点一二。

6 N; O6 S* k# j1 l9 `: E; d- Y0 o

8 T9 [* V! a; z# c

% Z/ r' s9 C. J- i4 }2 H! ?# t6 i9 K

% z, V! N/ ]2 W; f

$ \+ `$ O8 F) v# L  w* x1 X# ]% L9 W

作者: kinidrily    时间: 2019-9-24 17:31
直接发送数据给服务器,socket什么的,然后服务器再把数据写入mysql数据库看一下咯
作者: Demyar    时间: 2019-9-24 17:58
不太清楚。




欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/) Powered by Discuz! X3.2