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

编译相同代码,gcc和mipsel-linux-gnu-gcc生成的app不同,求高手帮忙解决

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

    本文导语:  我的代码是实现往Linux系统的framebuffer中写入一张JPG格式的图片数据;代码分为:main.c fb_init.c jpeg.c disp_jpeg.c四块;但是在虚拟机上用gcc编译后,生成可执行文件app,然后查看它的链接库ldd app: linux-gate.so.1 =>  (0xf...

我的代码是实现往Linux系统的framebuffer中写入一张JPG格式的图片数据;代码分为:main.c fb_init.c jpeg.c disp_jpeg.c四块;但是在虚拟机上用gcc编译后,生成可执行文件app,然后查看它的链接库ldd app:
linux-gate.so.1 =>  (0xffffe000)
 libjpeg.so.8 => ../jpeg-8/.libs/libjpeg.so.8 (0xb772f000)
 libc.so.6 => /lib/libc.so.6 (0xb75bc000)
 /lib/ld-linux.so.2 (0xb7766000)
但是用交叉编译工具mipsel-linux-gnu-gcc编译到MIPS开发板上,生成的app的链接库是:
libjpeg.so.62 => /lib/libjpeg.so.62 (0x2aad8000)
        libc.so.6 => /lib/libc.so.6 (0x2ab0a000)
        /lib/ld.so.1 (0x2aaa8000)
结果是:在虚拟机上的代码可以在屏幕显示图片,而开发板上的代码用HDMI线连接屏幕后不能显示图片。

我已经把该代码用到的库目录jpeg-8用gcc和mipsel-linux-gnu-gcc编译了两种格式,生成的app还是不能拥有相同的库。
是不是和编译生成的库安装路径有关系,像这种情况应该安装到什么路径下?

下面是我的给代码文件制作的makefile:
src = $(wildcard *.c)
obj = $(patsubst %.c, %.o, $(src))
target = app

CC= mipsel-linux-gnu-gcc 
#CC= gcc (编译到虚拟机上时用)

CFLAGS = -Wall -c -I../jpeg-8/
LDFLAGS = -Wall -g -L../jpeg-8/.libs -ljpeg
$(target) : $(obj)
        $(CC) -o $@ $^ $(LDFLAGS) 

%.o:%.c
        $(CC) $(CFLAGS) -o $@ $

    
 
 

您可能感兴趣的文章:

  • 如何使用arm-uclibc-gcc将.c文件编译生成.a,将.c文件编译生成.cgi?
  • 编译qt-x11,最后编译生成可执行文件时候,make出错
  • 如何指定用javac编译生成类的存放路径。(最好不要告诉我再生成之后再把文件流重新到出这种)
  • 我在RedHat中用gcc编译s.c,什么都没产生,也没报错,但是编译a.c的时候就生成可执行文件,这是怎么回事?
  • 用jdk编译Java能不能让编译生成的.class文件自动保存到一个文件夹下?
  • 编译生成u-boot.bin文件要用什么交叉编译工具?
  • gcc编译的程序生成的map文件问题
  • 编译器生成工具 SableCC
  • 编译内核.config文件的生成
  • yum和编译生成的安装什么区别
  • 不改变代码,怎样使每次编译生成的可执行程序或动态库二进制保持一致?
  • 请问用GCC 编译,如何生成MAP文件?就是内存的分布映像文件?
  • 编译生成.link后缀扩展名文件命令 linux
  • 怎样在windows中编译生成gdb
  • 如何让C编译器生成16位bin文件
  • flex生成的文件无法编译
  • 用g++可以编译pro*c生成的文件吗?
  • linux 编译的时候,如何与.a静态库做链接生成.elf文件?
  • xmkmf,在自动生成Makefile的时候,能不能够指定用gcc编译?请大虾解决
  • 编译生成的.o和.out文件分别是什么格式的?COFF?ELF?
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • linux/centos源码安装nginx编译配置选项参数介绍
  • 请教:JSP编译器编译成字节码,跟别的编译器编译出来的有什么不同呢?
  • CentOS 6内核升级:下载编译启用新内核版本详细过程
  • 编译GCC时能不能只编译C/C++的编译器?
  • 高速的网络抓包库PF_ring介绍及编译安装
  • 关于arm交叉编译器4.3.3编译程序报错,但是3.4.5却能编译通过的问题
  • JB下,我的程序编译得好慢!请问用什么方法编译才可以快一点?或编译顺序改变一下?
  • 请问gdb是不是只能调试gcc编译的程序,在unix下用其它编译器编译的程序是不是不一定能用gdb调试的?
  • 用JCreator写了一个小程序,有十几个class,当修改某个文件重新编译,javac并没有编译修改的文件,请问要如何做javac才会重新编译所有的
  • 问:关于gcc编译器和g++编译器
  • 嵌入式linux开发:一段代码在windows平台用VC编译运行正常,在linux平台用gcc编译运行正常,但是用arm-linux-gcc编译在嵌入式板子上运行就不正常.
  • 在cygwin编译驱动程序要不要交叉编译?
  • 关于如何把编译进内核的编译成模块
  • C编译器 c++编译器 wieldylcc
  • Linux下gcc编译时,如何以静态链接的形式编译?
  • PROC开发时 //注释编译不通过 如何设置使用cpp编译。
  • 编译失败后如何再继续编译
  • 如何查看已编译安装软件的编译命令行
  • 请问哪里有反编译.class文件的反编译器?
  • 用Jdk编译时出现提示要加 -deprecation 再编译,请教??
  • linux下有没有能编译出16bit代码的C语言编译器?


  • 站内导航:


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

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

    浙ICP备11055608号-3