当前位置: 技术问答>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 $@ $
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 $@ $
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
站内导航:
特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!