交叉编译目录问题

green369258 2010-08-24 02:31:33
小弟用arm-linux-gcc进行交叉编译,设定嵌入式单板的文件系统根为/work/rootfs,然后编译软件A,设置./configure --prefix=/usr; make; make DESTDIR=/work/rootfs install 完成软件A的编译安装,然后编译软件B,它依赖于软件A,./configure --prefix-/usr; make 的时候总是去/usr/lib里面链接我本机(PC)的库,导致could not read symbols: File in wrong format这样的错误,求助
...全文
137 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
eliry 2012-06-19
  • 打赏
  • 举报
回复
我也遇到了这个问题,也没找到最好的解决办法,不过采取了一个折中办法,就是删除宿主机上的对应库文件或者改名,让它找不到,就自然采用了交叉编译环境下的正确库文件了。
green369258 2010-08-25
  • 打赏
  • 举报
回复
我用的LDFLAGS=-L/mylibpath,也尝试了这个做法,还是搜索不到,设置完perfix后,编译的时候GCC死到设置的perfix目录里面去寻找,让人很是郁闷
arm-nptl-linux-gcc -shared .libs/fcatomic.o .libs/fcblanks.o .libs/fccache.o .libs/fccfg.o .libs/fccharset.o .libs/fcdbg.o .libs/fcdefault.o .libs/fcdir.o .libs/fcfreetype.o .libs/fcfs.o .libs/fcinit.o .libs/fclang.o .libs/fclist.o .libs/fcmatch.o .libs/fcmatrix.o .libs/fcname.o .libs/fcpat.o .libs/fcserialize.o .libs/fcstr.o .libs/fcxml.o .libs/ftglue.o -L/home/zz/work/GevDVR/rootfs/target/usr/lib /usr/lib/libfreetype.so -lz /usr/lib/libexpat.so -Wl,-soname -Wl,libfontconfig.so.1 -o .libs/libfontconfig.so.1.3.0
/usr/lib/libfreetype.so: could not read symbols: File in wrong format
我的-L设置了-L/home/zz/work/GevDVR/rootfs/target/usr/lib这就是我存放库的路径,但是最后它还是去/usr/lib/下面去搜索了,因为我配置库的时候./configure --prefix=/usr是这样设置的
Linux-Torvalds 2010-08-24
  • 打赏
  • 举报
回复
那就主动设置一下编译编译环境的共享库的路径。可以使用-L参数指定,也可以设置环境变量export LIBRARY_PATH=youlibpath。如果有多个lib目录,可以重复使用,从左到右一次搜索~~

23,116

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧