天嵌 ARM开发社区

 找回密码
 注册
查看: 3245|回复: 10

编译链接libnids库出错

[复制链接]
流浪记 发表于 2013-7-31 13:27:47 | 显示全部楼层 |阅读模式
root@jason:/home/jason/download/libfile/libnids-1.20/samples# arm-linux-gcc

overflows.c -o over -lnids -I/home/jason/download/libfile/libnids-1.20/src

-L/home/jason/download/libfile/libnids-1.20/src
/home/jason/download/opt/EmbedSky/4.4.6/bin/../lib/gcc/arm-embedsky-linux-

gnueabi/4.4.6/../../../../arm-embedsky-linux-gnueabi/bin/ld: skipping

incompatible /home/jason/download/libfile/libnids-1.20/src/libnids.a when

searching for -lnids
/home/jason/download/opt/EmbedSky/4.4.6/bin/../lib/gcc/arm-embedsky-linux-

gnueabi/4.4.6/../../../../arm-embedsky-linux-gnueabi/bin/ld: cannot find -

lnids
collect2: ld returned 1 exit status
TQ-lkp 发表于 2013-7-31 14:15:16 | 显示全部楼层
请确认/home/jason/download/libfile/libnids-1.20/src目录下是否存在libnids.so
 楼主| 流浪记 发表于 2013-7-31 14:24:14 | 显示全部楼层
TQ-lkp 发表于 2013-7-31 14:15
请确认/home/jason/download/libfile/libnids-1.20/src目录下是否存在libnids.so

我用的静态库。确认存在
 楼主| 流浪记 发表于 2013-7-31 14:25:23 | 显示全部楼层
TQ-lkp 发表于 2013-7-31 14:15
请确认/home/jason/download/libfile/libnids-1.20/src目录下是否存在libnids.so

里面是libnids.a
 楼主| 流浪记 发表于 2013-7-31 14:42:21 | 显示全部楼层
TQ-lkp 发表于 2013-7-31 14:15
请确认/home/jason/download/libfile/libnids-1.20/src目录下是否存在libnids.so

朋友,可以帮忙解决这个问题么。。。
TQ-lkp 发表于 2013-8-1 15:38:13 | 显示全部楼层
你用的哪个版本的ubuntu?
 楼主| 流浪记 发表于 2013-8-1 16:06:53 | 显示全部楼层
TQ-lkp 发表于 2013-8-1 15:38
你用的哪个版本的ubuntu?

就是光盘里面说的。ubuntu11.10
 楼主| 流浪记 发表于 2013-8-1 16:16:25 | 显示全部楼层
TQ-lkp 发表于 2013-8-1 15:38
你用的哪个版本的ubuntu?

ubuntu 11.10  ,64位版的,我之前编译链接的库是Libnids-1.20,出现上面这个问题,后来换成libnids-1.23,这个问题没了。可是用开发板给的arm-linux-gcc编译生成了libnids.a,然后编译别的一个c文件,printall.c,链接这个libnids.a静态库的时候说:
printall.c:In function 'main':
printall.c:117:warning :incompatible implicit declaration of built-in function 'exit'
libnids.a  :could not read symbols: file format not recognized  
collect2:ld returned 1 exit status
TQ-lkp 发表于 2013-8-2 14:30:19 | 显示全部楼层
确认你生成的库libnids.so是使用交叉编绎器的,查看方法file libnids.so,如果显示是arm的就说明是交叉编绎的
即是说你编绎的程序是arm的,那你链接的库也必须的arm的。
 楼主| 流浪记 发表于 2013-8-3 14:01:23 | 显示全部楼层
我用./configure --host=arm-linux 配置的,然后make,生成了libnids.a ,但是没有Libnids.so.用file libnids.a查看文件,显示:current ar archive
 楼主| 流浪记 发表于 2013-8-3 14:01:40 | 显示全部楼层
TQ-lkp 发表于 2013-8-2 14:30
确认你生成的库libnids.so是使用交叉编绎器的,查看方法file libnids.so,如果显示是arm的就说明是交叉编绎 ...


我用./configure --host=arm-linux 配置的,然后make,生成了libnids.a ,但是没有Libnids.so.用file libnids.a查看文件,显示:current ar archive
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

i.MX8系列ARM cortex A53 M4 工控板上一条 /1 下一条

Archiver|手机版|小黑屋|天嵌 嵌入式开发社区 ( 粤ICP备11094220号 )

GMT+8, 2024-4-20 17:11 , Processed in 1.046875 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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