当前位置:  技术问答>linux和unix

交叉编译出错

    来源: 互联网  发布时间:2016-09-04

    本文导语:  我先用本地编译器g++,编译成功,但是用交叉编译时却出错。 一、 本地编译 1、 Makefile文件编写 SYDemo:modulapi.o   g++ -g modulapi.o SYProtocol.a –o SYDemo modulapi.o:modulapi.cpp SYProtocol.h   g++ -g –c modulapi.cpp –o modu...

我先用本地编译器g++,编译成功,但是用交叉编译时却出错。
一、 本地编译
1、 Makefile文件编写
SYDemo:modulapi.o
  g++ -g modulapi.o SYProtocol.a –o SYDemo
modulapi.o:modulapi.cpp SYProtocol.h
  g++ -g –c modulapi.cpp –o modulapi.o
clean:
  rm –f *.o SYDemo
2、 make编译成功
3、 ./SYDemo设备可以运行
二、 交叉编译
1、Makefile文件编写
SYDemo:modulapi.o
  arm-linux-g++ -g modulapi.o SYProtocol.a –o SYDemo
modulapi.o:modulapi.cpp SYProtocol.h
  arm-linux-g++ -g –c modulapi.cpp –o modulapi.o
clean:
  rm –f *.o SYDemo
出错,结果如下:
2、改用单步编译
  (1)编译modulapi.o文件
  arm-linux-g++ -g –c modulapi.cpp –o modulapi.o
  这一步没有出错
  (2)编译SYDemo文件,出错,结果如下:
  [root@localhost root]# arm-linux-g++ -g -c modulapi.cpp -o modulapi.o
[root@localhost root]# arm-linux-g++ -g modulapi.o SYProtocol.a -o SYDemo
/opt/EmbedSky/4.3.3/bin/../lib/gcc/arm-none-linux-gnueabi/4.3.3/../../../../arm-none-linux-gnueabi/bin/ld: SYProtocol.a(SYProtocol.o): Relocations in generic ELF (EM: 3)
/opt/EmbedSky/4.3.3/bin/../lib/gcc/arm-none-linux-gnueabi/4.3.3/../../../../arm-none-linux-gnueabi/bin/ld: SYProtocol.a(SYProtocol.o): Relocations in generic ELF (EM: 3)
/opt/EmbedSky/4.3.3/bin/../lib/gcc/arm-none-linux-gnueabi/4.3.3/../../../../arm-none-linux-gnueabi/bin/ld: SYProtocol.a(SYProtocol.o): Relocations in generic ELF (EM: 3)
/opt/EmbedSky/4.3.3/bin/../lib/gcc/arm-none-linux-gnueabi/4.3.3/../../../../arm-none-linux-gnueabi/bin/ld: SYProtocol.a(SYProtocol.o): Relocations in generic ELF (EM: 3)
/opt/EmbedSky/4.3.3/bin/../lib/gcc/arm-none-linux-gnueabi/4.3.3/../../../../arm-none-linux-gnueabi/bin/ld: SYProtocol.a(SYProtocol.o): Relocations in generic ELF (EM: 3)
/opt/EmbedSky/4.3.3/bin/../lib/gcc/arm-none-linux-gnueabi/4.3.3/../../../../arm-none-linux-gnueabi/bin/ld: SYProtocol.a(SYProtocol.o): Relocations in generic ELF (EM: 3)
/opt/EmbedSky/4.3.3/bin/../lib/gcc/arm-none-linux-gnueabi/4.3.3/../../../../arm-none-linux-gnueabi/bin/ld: SYProtocol.a(SYProtocol.o): Relocations in generic ELF (EM: 3)
/opt/EmbedSky/4.3.3/bin/../lib/gcc/arm-none-linux-gnueabi/4.3.3/../../../../arm-none-linux-gnueabi/bin/ld: SYProtocol.a(SYProtocol.o): Relocations in generic ELF (EM: 3)
SYProtocol.a: could not read symbols: File in wrong format
collect2: ld returned 1 exit status
请教出错原因

|
SYProtocol.a  是用什么编译出来的  可能你要用当前的交叉工具重新编译下

|
1楼正解,.a 文件也要交叉编译

|
静态库格式可能不对,要同上面的一样!

|
同意一楼,库可能要单独编译下吧

|
感觉你的编译器没有安装好

    
 
 

您可能感兴趣的文章:

  • 在cygwin编译驱动程序要不要交叉编译?
  • 关于arm交叉编译器4.3.3编译程序报错,但是3.4.5却能编译通过的问题
  • 交叉编译问题
  • arm-linux-gcc交叉编译出错,但gcc编译没错,什么原因呢???
  • linux下交叉编译的问题
  • ARM Cortex A15终结交叉编译?!
  • 请教:嵌入式Linux交叉编译工具----版本选择的问题
  • 谁知道如何在i386平台使用交叉编译工具为mips平台编译libtiff啊?
  • openssl怎么交叉编译?
  • LINUX下使用Eclipse,如何使用交叉编译器?
  • 交叉编译器可以通用吗?
  • 怎么查看arm平台上的程序是用那个版本的交叉编译器编译的????
  • 怎么建立arm交叉编译环境和ramdisk镜像?
  • 如何将LINUX下的命令nohup交叉编译?
  • 小弟遇到个交叉编译的问题,谁能帮忙解决下啊
  • 怎样交叉编译2.6内核下的驱动?
  • 交叉编译时,ld ,搜索路径的设置 iis7站长之家
  • Qt creator能否交叉编译?
  • 别人编译好的交叉编译的工具链,我在自己系统中怎么使用 急
  • 用MINIGUI写的程序,怎么进行交叉编译呀?
  • 我在交叉编译SDL时.老是出错
  • 交叉编译,动态链接库运行出错!请高人指点
  • 交叉编译QTE的多线程程序时出错:cannot find -lqte-mt
  • 交叉编译armlinux模块出错!???
  • arm-linux-gcc交叉编译出错
  • linux环境下交叉编译执行出错问题
  • 使用autotools生成makefile,最后一步交叉编译时make出错
  • 交叉编译出错:impossible constraint in ‘asm’
  • qt embedded 2.37 自己写的hello 交叉编译出错,大家帮帮忙,谢谢
  • hostapd交叉编译出错,请高手指点
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 交叉编译时,ld ,搜索路径的设置
  • ubuntu 10.10环境下的交叉编译求助
  • 交叉编译系统调用模块错误
  • 有关scratchbox 交叉编译器的问题。。。
  • linux下交叉编译windows VC 程序的问题
  • linux 安装交叉编译器时出现错误
  • arm交叉编译求救
  • 求助arm-linux-gcc-3.4.1 如何交叉编译具有两个依赖库的文件?
  • arm-linux的交叉编译环境
  • 请教“交叉编译”的问题
  • 关于交叉编译apache
  • 为什么要增加交叉编译器的路径?
  • 怎样查看交叉编译器的版本???
  • 交叉编译中关于libxml2的问题
  • arm-linux-gcc交叉编译工具链安装
  • 请教交叉编译
  • 求助!!怎么在linux交叉环境下移植SOAP协议?
  • 请教关于交叉编译平台搭建的问题
  • 请教牛人,问一个Linux下交叉编译的问题
  • 交叉编译的文件在目标板无法执行


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3