免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123下一页
最近访问板块 发新帖
查看: 9825 | 回复: 28
打印 上一主题 下一主题

急求makefile.am问题!!! [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-04-03 15:26 |只看该作者 |倒序浏览
5可用积分
最新!问题修改为:
我的程序结构是这样的:
总共两个目录:viaencode/   videolib/
viaencode/下有:两个源文件和一个makefile.am文件 encodeapi.c  、viaenc.c 、 Makefile.am
videolib/下有:四个头文件 MP4EncApi.h、hw_lib.h、ViaApi.h 、itu.h
以及六个.a库文件:libext_device_ctrl.a 、libhwdec.a、libhwenc.a、libitu.a、libuserdev.a、libvia.a

Makefile.am中内容为:
bin_PROGRAMS = viaenc
viaenc_SOURCES = viaenc.c encodeapi.c
AM_CFLAGS = -I../videolib
LDADD = -L../videolib -lvia -litu -lhwdec -lext_device_ctrl -lhwenc -lpthread -luserdev

生成makefile后,我将其中的
CC = gcc改成
CC=/usr/local/arm/gcc-3.4.4-glibc-2.3.6/bin/arm-linux-gcc

make后的错误提示如下:  

[root@ARM viaencode]# make
make  all-am
make[1]: Entering directory `/root/video_save/viaencode'
/usr/local/arm/gcc-3.4.4-glibc-2.3.6/bin/arm-linux-gcc -I../videolib -g -O2   -o viaenc  viaenc.o encodeapi.o -L../videolib -lvia -litu -lhwdec -lext_device_ctrl -lhwenc -lpthread -luserdev  -lpthread
/usr/local/arm/gcc-3.4.4-glibc-2.3.6/bin/../lib/gcc/arm-linux/3.4.4/../../../../arm-linux/bin/ld: viaenc.o: Relocations in generic ELF (EM: 3)
viaenc.o: could not read symbols: File in wrong format
collect2: ld returned 1 exit status

make[1]: *** [viaenc] Error 1
make[1]: Leaving directory `/root/video_save/viaencode'
make: *** [all] Error 2
[root@ARM viaencode]#

从Makefile.am的第四行以及结合make后出错的信息可以看出出错的原因,不知道如何解决,请各位帮帮忙,谢谢

[ 本帖最后由 happybgt 于 2009-4-13 11:06 编辑 ]

最佳答案

查看完整内容

交叉编译不是换个cc就可以的。还有ld,ar,as等等阿CC=/usr/local/arm/gcc-3.4.4-glibc-2.3.6/bin/arm-linux-gccLD=/usr/local/arm/gcc-3.4.4-glibc-2.3.6/bin/arm-linux-ldAR=/usr/local/arm/gcc-3.4.4-glibc-2.3.6/bin/arm-linux-arAS=/usr/local/arm/gcc-3.4.4-glibc-2.3.6/bin/arm-linux-as

论坛徽章:
0
2 [报告]
发表于 2009-04-03 15:26 |只看该作者

re

交叉编译不是换个cc就可以的。
还有ld,ar,as等等阿

CC=/usr/local/arm/gcc-3.4.4-glibc-2.3.6/bin/arm-linux-gcc
LD=/usr/local/arm/gcc-3.4.4-glibc-2.3.6/bin/arm-linux-ld
AR=/usr/local/arm/gcc-3.4.4-glibc-2.3.6/bin/arm-linux-ar
AS=/usr/local/arm/gcc-3.4.4-glibc-2.3.6/bin/arm-linux-as

论坛徽章:
381
CU十二周年纪念徽章
日期:2014-01-04 22:46:58CU大牛徽章
日期:2013-03-13 15:32:35CU大牛徽章
日期:2013-03-13 15:38:15CU大牛徽章
日期:2013-03-13 15:38:52CU大牛徽章
日期:2013-03-14 14:08:55CU大牛徽章
日期:2013-04-17 11:17:19CU大牛徽章
日期:2013-04-17 11:17:32CU大牛徽章
日期:2013-04-17 11:17:37CU大牛徽章
日期:2013-04-17 11:17:42CU大牛徽章
日期:2013-04-17 11:17:47CU大牛徽章
日期:2013-04-17 11:17:52CU大牛徽章
日期:2013-04-17 11:17:56
3 [报告]
发表于 2009-04-03 15:32 |只看该作者
config.status: error: cannot find input file: config.h.in
缺文件

论坛徽章:
0
4 [报告]
发表于 2009-04-03 15:42 |只看该作者
原帖由 chenyx 于 2009-4-3 15:32 发表
config.status: error: cannot find input file: config.h.in
缺文件

这是我在生成makefile时产生的错误,已解决,现在是make 时出现了错误~

[ 本帖最后由 happybgt 于 2009-4-11 10:00 编辑 ]

论坛徽章:
0
5 [报告]
发表于 2009-04-03 15:57 |只看该作者
在线等,求求各位大侠帮帮忙!!

论坛徽章:
0
6 [报告]
发表于 2009-04-08 08:56 |只看该作者
几天过去了,没人帮我啊,呜呜~

论坛徽章:
0
7 [报告]
发表于 2009-04-08 18:37 |只看该作者

回复 #1 happybgt 的帖子

/usr/bin/ld: skipping incompatible ../videolib/libvia.a when searching for -lvia
/usr/bin/ld: cannot find -lvia
从出错信息来看,和libvia这个库有关,可能是缺库,或者没找到库。
请楼主把情况再说得详细点。

论坛徽章:
0
8 [报告]
发表于 2009-04-11 09:29 |只看该作者
原帖由 linke.wang 于 2009-4-8 18:37 发表
/usr/bin/ld: skipping incompatible ../videolib/libvia.a when searching for -lvia
/usr/bin/ld: cannot find -lvia
从出错信息来看,和libvia这个库有关,可能是缺库,或者没找到库。
请楼主把情况再说得 ...

我的程序结构是这样的:
总共两个目录:viaencode/   videolib/
viaencode/下有:两个源文件和一个makefile.am文件 encodeapi.c  、viaenc.c 、 Makefile.am
videolib/下有:四个头文件 MP4EncApi.h、hw_lib.h、ViaApi.h 、itu.h
以及六个.a库文件:libext_device_ctrl.a 、libhwdec.a、libhwenc.a、libitu.a、libuserdev.a、libvia.a

Makefile.am中内容为:
bin_PROGRAMS = viaenc
viaenc_SOURCES = viaenc.c encodeapi.c
AM_CFLAGS = -I../videolib
LDADD = -L../videolib -lvia -litu -lhwdec -lext_device_ctrl -lhwenc -lpthread -luserdev

从上面第四行以及结合make后出错的信息:
/usr/bin/ld: skipping incompatible ../videolib/libvia.a when searching for -l
via
/usr/bin/ld: cannot find -lvia
collect2: ld returned 1 exit status
make[1]: *** [viaenc] Error 1
make[1]: Leaving directory `/root/vedio_save/viaencode'
make: *** [all] Error 2
可以看出,出错的原因在于库,应该是videolib/下的六个库文件没有连接上,不知道如何解决,请各位帮帮忙,谢谢

[ 本帖最后由 happybgt 于 2009-4-11 09:31 编辑 ]

论坛徽章:
95
程序设计版块每日发帖之星
日期:2015-09-05 06:20:00程序设计版块每日发帖之星
日期:2015-09-17 06:20:00程序设计版块每日发帖之星
日期:2015-09-18 06:20:002015亚冠之阿尔艾因
日期:2015-09-18 10:35:08月度论坛发贴之星
日期:2015-09-30 22:25:002015亚冠之阿尔沙巴布
日期:2015-10-03 08:57:39程序设计版块每日发帖之星
日期:2015-10-05 06:20:00每日论坛发贴之星
日期:2015-10-05 06:20:002015年亚冠纪念徽章
日期:2015-10-06 10:06:482015亚冠之塔什干棉农
日期:2015-10-19 19:43:35程序设计版块每日发帖之星
日期:2015-10-21 06:20:00每日论坛发贴之星
日期:2015-09-14 06:20:00
9 [报告]
发表于 2009-04-11 10:31 |只看该作者
原帖由 linke.wang 于 2009-4-8 18:37 发表
/usr/bin/ld: skipping incompatible ../videolib/libvia.a when searching for -lvia
/usr/bin/ld: cannot find -lvia
从出错信息来看,和libvia这个库有关,可能是缺库,或者没找到库。

这个是库文件找到了,可是不匹配,例如说当前机器是 64 位的,可库 libvia 却是 32 位的,或者类似的情况。

论坛徽章:
0
10 [报告]
发表于 2009-04-11 12:41 |只看该作者
是啊,楼上的,链接到默认的/usr/bin/ld,而我需要链接到我指定的库,
请问那怎么才能链接到我需要的videolib/下的六个.a库文件:libext_device_ctrl.a 、libhwdec.a、libhwenc.a、libitu.a、libuserdev.a、libvia.a

[ 本帖最后由 happybgt 于 2009-4-11 12:45 编辑 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP