找回密码
 注册
关于网站域名变更的通知
查看: 364|回复: 2
打印 上一主题 下一主题

arm-linux-gcc编译报错:libc.so format not recognized.哪位大神见过这个错误

[复制链接]
  • TA的每日心情
    擦汗
    2019-11-19 15:26
  • 签到天数: 1 天

    [LV.1]初来乍到

    跳转到指定楼层
    1#
    发表于 2019-9-24 15:52 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

    EDA365欢迎您登录!

    您需要 登录 才可以下载或查看,没有帐号?注册

    x

    开发板是一个实验室网关(HBE-UBI-box2),用来收集传感器传来的信息的。将写好的C文件通过ARM-linux-gcc编译器编译成cgi文件(编译命令:arm-linux-gcc -o info.cgi info.c)info.c是我写的文件。编译好了之后传到网关里面,然后访问网关就可以看到编程实现的结果了。/ b' \, M$ y9 W3 ?$ y# }# O1 l- g
    可是,前几天导师说网关不能同时支持大量的访问,要我把网关收集的传感器数据传到实验室的服务器上,然后写个网站来访问服务器上的数据。。。好吧,我也不敢反抗,默默的在服务器上建好了MySQL数据库,写了几个jsp来访问数据库,都弄好了。! L& f1 t- m7 [: I1 d" }
    可是把数据从网关传到服务器时确碰到难题了。我刚开始以为很简单,直接把之前+ w" ^- L( I6 y" O9 E0 h$ f# G
    没有连接mysql数据库的代码加了这段代码:
    . H8 u3 z$ d" c+ j$ kint 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的客户机和服务器。
    7 _. ?* b1 _: t) e* i1. sudo apt-get install mysql-server0 M, p! b8 z) d* _
    2. apt-get install mysql-client2 V; y  c# ]* U! C" c  E9 ~6 Z
    3. sudo apt-get install libmysqlclient-dev# G, @- ?  x( C. L0 y
    编译的命令也找了许多,大致就是要加上编译时用到的库的路径,最后采用的命令如下: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
    4 T$ r7 ~+ @* Q# I0 Q% s: X这个时候噩梦开始了,一开始报了好多错,我只好一个个排查解决,其中辛酸暂且不表,但是最后还是有一个无法解决:
    ) Q# z  M* c  |7 X

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


    , @  n! S0 ~% e( x# |+ ?

    1 h7 S8 q8 @: F

    $ D( w& ]- }( l8 `  F+ }) ?


    0 L$ h6 p( L4 l: E. e5 V9 G) ]

    . a6 c* J0 C" f# e- X, }2 Q( ^

    该用户从未签到

    2#
    发表于 2019-9-24 17:31 | 只看该作者
    直接发送数据给服务器,socket什么的,然后服务器再把数据写入mysql数据库看一下咯
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

    推荐内容上一条 /1 下一条

    EDA365公众号

    关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

    GMT+8, 2025-11-24 23:56 , Processed in 0.156250 second(s), 26 queries , Gzip On.

    深圳市墨知创新科技有限公司

    地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

    快速回复 返回顶部 返回列表