QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 4106|回复: 2

【求助】使用arm-linux-gcc时的链接错误

[复制链接]
发表于 2004-5-9 00:42:32 | 显示全部楼层 |阅读模式
不知道怎么处理这种错误,望高手指点一二,多谢。

------------Build Log-------------------------
六  5月  8 22:54:08 CST 2004
In file included from src/arm_linux/video/mpeg4/decoder/mp4dblck.c:25:
src/arm_linux/video/mpeg4/_include/sampmp4.h:592:7: warning: no newline at end of file
[success] C Compile [src/arm_linux/video/mpeg4/decoder/mp4dblck.c] to [build/obj/mp4dblck.o]
In file included from src/arm_linux/video/mpeg4/decoder/mp4dbuff.c:20:
src/arm_linux/video/mpeg4/_include/sampmp4.h:592:7: warning: no newline at end of file
[success] C Compile [src/arm_linux/video/mpeg4/decoder/mp4dbuff.c] to [build/obj/mp4dbuff.o]
In file included from src/arm_linux/video/mpeg4/decoder/mp4dinit.c:21:
src/arm_linux/video/mpeg4/_include/sampmp4.h:592:7: warning: no newline at end of file
[success] C Compile [src/arm_linux/video/mpeg4/decoder/mp4dinit.c] to [build/obj/mp4dinit.o]
In file included from src/arm_linux/video/mpeg4/decoder/mp4dmain.c:15:
src/arm_linux/video/mpeg4/_include/sampmp4.h:592:7: warning: no newline at end of file
[success] C Compile [src/arm_linux/video/mpeg4/decoder/mp4dmain.c] to [build/obj/mp4dmain.o]
In file included from src/arm_linux/video/mpeg4/decoder/mp4dmblk.c:20:
src/arm_linux/video/mpeg4/_include/sampmp4.h:592:7: warning: no newline at end of file
[success] C Compile [src/arm_linux/video/mpeg4/decoder/mp4dmblk.c] to [build/obj/mp4dmblk.o]
In file included from src/arm_linux/video/mpeg4/decoder/mp4dpars.c:17:
src/arm_linux/video/mpeg4/_include/sampmp4.h:592:7: warning: no newline at end of file
[success] C Compile [src/arm_linux/video/mpeg4/decoder/mp4dpars.c] to [build/obj/mp4dpars.o]
In file included from src/arm_linux/video/mpeg4/decoder/mp4dtble.c:14:
src/arm_linux/video/mpeg4/_include/sampmp4.h:592:7: warning: no newline at end of file
[success] C Compile [src/arm_linux/video/mpeg4/decoder/mp4dtble.c] to [build/obj/mp4dtble.o]
In file included from src/arm_linux/video/mpeg4/decoder/mp4dutil.c:19:
src/arm_linux/video/mpeg4/_include/sampmp4.h:592:7: warning: no newline at end of file
[success] C Compile [src/arm_linux/video/mpeg4/decoder/mp4dutil.c] to [build/obj/mp4dutil.o]
In file included from src/arm_linux/video/mpeg4/decoder/mp4dvops.c:16:
src/arm_linux/video/mpeg4/_include/sampmp4.h:592:7: warning: no newline at end of file
[success] C Compile [src/arm_linux/video/mpeg4/decoder/mp4dvops.c] to [build/obj/mp4dvops.o]
/usr/local/arm-linux/bin/../lib/gcc-lib/arm-linux/3.2.1/../../../../arm-linux/bin/ld: ERROR: ./build/obj/mp4dblck.o uses software FP, whereas build/bin/mpeg4dec uses hardware FP
File format not recognized: failed to merge target specific data of file ./build/obj/mp4dblck.o
/usr/local/arm-linux/bin/../lib/gcc-lib/arm-linux/3.2.1/../../../../arm-linux/bin/ld: ERROR: ./build/obj/mp4dbuff.o uses software FP, whereas build/bin/mpeg4dec uses hardware FP
File format not recognized: failed to merge target specific data of file ./build/obj/mp4dbuff.o
/usr/local/arm-linux/bin/../lib/gcc-lib/arm-linux/3.2.1/../../../../arm-linux/bin/ld: ERROR: ./build/obj/mp4dinit.o uses software FP, whereas build/bin/mpeg4dec uses hardware FP
File format not recognized: failed to merge target specific data of file ./build/obj/mp4dinit.o
/usr/local/arm-linux/bin/../lib/gcc-lib/arm-linux/3.2.1/../../../../arm-linux/bin/ld: ERROR: ./build/obj/mp4dmain.o uses software FP, whereas build/bin/mpeg4dec uses hardware FP
File format not recognized: failed to merge target specific data of file ./build/obj/mp4dmain.o
/usr/local/arm-linux/bin/../lib/gcc-lib/arm-linux/3.2.1/../../../../arm-linux/bin/ld: ERROR: ./build/obj/mp4dmblk.o uses software FP, whereas build/bin/mpeg4dec uses hardware FP
File format not recognized: failed to merge target specific data of file ./build/obj/mp4dmblk.o
/usr/local/arm-linux/bin/../lib/gcc-lib/arm-linux/3.2.1/../../../../arm-linux/bin/ld: ERROR: ./build/obj/mp4dpars.o uses software FP, whereas build/bin/mpeg4dec uses hardware FP
File format not recognized: failed to merge target specific data of file ./build/obj/mp4dpars.o
/usr/local/arm-linux/bin/../lib/gcc-lib/arm-linux/3.2.1/../../../../arm-linux/bin/ld: ERROR: ./build/obj/mp4dtble.o uses software FP, whereas build/bin/mpeg4dec uses hardware FP
File format not recognized: failed to merge target specific data of file ./build/obj/mp4dtble.o
/usr/local/arm-linux/bin/../lib/gcc-lib/arm-linux/3.2.1/../../../../arm-linux/bin/ld: ERROR: ./build/obj/mp4dutil.o uses software FP, whereas build/bin/mpeg4dec uses hardware FP
File format not recognized: failed to merge target specific data of file ./build/obj/mp4dutil.o
/usr/local/arm-linux/bin/../lib/gcc-lib/arm-linux/3.2.1/../../../../arm-linux/bin/ld: ERROR: ./build/obj/mp4dvops.o uses software FP, whereas build/bin/mpeg4dec uses hardware FP
File format not recognized: failed to merge target specific data of file ./build/obj/mp4dvops.o
collect2: ld returned 1 exit status


Makefile:
# This makefile will build a Linux application

# this is for sample code build

#==============================================================================
# GNU pathes                                                                                                (server admin update)
#==============================================================================
PATH_ARM_GCC=/usr/local/arm-linux/bin
#==============================================================================
# GNU                 binaries                                                                                (server admin update)
#==============================================================================
CC=$(PATH_ARM_GCC)/arm-linux-gcc
CXX=$(PATH_ARM_GCC)/arm-linux-g++
AR=$(PATH_ARM_GCC)/arm-linux-ar
AS=$(PATH_ARM_GCC)/arm-linux-as
LN=$(PATH_ARM_GCC)/arm-linux-gcc
#==============================================================================
# GNU build options: all                                                                (build engineer update)                       
#==============================================================================
CFLAGS=-O3 -Wall -mcpu=xscale -mtune=xscale -msoft -float -fPIC
CXXFLAGS=-O3 -Wall -mcpu=xscale -mtune=xscale -msoft -float -fPIC
ASFLAGS=-k
ARFLAGS=
LNFLAGS=-lpthread -ldl -lm


#==============================================================================
# User root path                                                                                                (user update)
#==============================================================================
PATH_USR_ROOT=.
PATH_USR_BUILD=$(PATH_USR_ROOT)/build
PATH_USR_OBJ=$(PATH_USR_BUILD)/obj
PATH_USR_BIN=$(PATH_USR_BUILD)/bin
PATH_USR_LOG=$(PATH_USR_BUILD)/log
USR_LOG_TRACE=$(PATH_USR_LOG)/build_trace_sample_dec_mpeg4_armlinux.log
#==============================================================================
# external include option                                                                                         (user update)
#==============================================================================
#This is IPP product default install path
PATH_IPP_ROOT=/usr/local/ipp/ippxsc30

OPT_INC_EXT=\
-I $(PATH_IPP_ROOT)/include/\
-I $(PATH_USR_ROOT)/src/include/\
-I $(PATH_USR_ROOT)/src/arm_linux/video/_include/\
-I $(PATH_USR_ROOT)/src/arm_linux/video/mpeg4/_include/\



#==============================================================================
# IPP libraries                                                                                          (user update)
#==============================================================================
USR_LIBS=\
$(PATH_IPP_ROOT)/lib/ippVC_WMMX40LNX_r.a\

#==============================================================================
# Target                                                          (user update)
#==============================================================================
OUTPUT_TARGET=$(PATH_USR_BIN)/mpeg4dec

#==============================================================================
# phonies
#==============================================================================
.PHONY : all partial_clean clean banner
all: clean $(PATH_USR_OBJ) $(PATH_USR_BIN) $(PATH_USR_LOG) banner $(OUTPUT_TARGET)
banner:
        @echo ------------Build Log------------------------- >$(USR_LOG_TRACE)
        @date >>$(USR_LOG_TRACE)
clean:
        -rm -f $(OUTPUT_TARGET)
        -rm -f $(PATH_USR_OBJ)/*.*
        -rm -f $(USR_LOG_TRACE)
#==============================================================================
# directories
#==============================================================================
$(PATH_USR_OBJ):
        -mkdir $(PATH_USR_BUILD)
        -mkdir $(PATH_USR_OBJ)
$(PATH_USR_BIN):
        -mkdir $(PATH_USR_BIN)
$(PATH_USR_LOG):
        -mkdir $(PATH_USR_LOG)


#==============================================================================
# Compile                                                         (user update)
#==============================================================================
$(PATH_USR_OBJ)/mp4dblck.o:$(PATH_USR_ROOT)/src/arm_linux/video/mpeg4/decoder/mp4dblck.c
        -$(CC) -c $< -o $@ $(CFLAGS) $(OPT_INC_EXT) -I $(PATH_USR_ROOT)/src/arm_linux/video/mpeg4/decoder/ -I $(PATH_USR_ROOT)/src/arm_linux/video/mpeg4/_include/ -I $(PATH_USR_ROOT)/src/arm_linux/video/_include/ 1>>$(USR_LOG_TRACE) 2>>$(USR_LOG_TRACE)
        @if [ -e $(PATH_USR_OBJ)/mp4dblck.o ]; then echo [success] C Compile [$<] to [$@] 1>>$(USR_LOG_TRACE); else echo [failed] C Compile [$<] to [$@] 1>>$(USR_LOG_TRACE); fi
$(PATH_USR_OBJ)/mp4dbuff.o:$(PATH_USR_ROOT)/src/arm_linux/video/mpeg4/decoder/mp4dbuff.c
        -$(CC) -c $< -o $@ $(CFLAGS) $(OPT_INC_EXT) -I $(PATH_USR_ROOT)/src/arm_linux/video/mpeg4/decoder/ -I $(PATH_USR_ROOT)/src/arm_linux/video/mpeg4/_include/ -I $(PATH_USR_ROOT)/src/arm_linux/video/_include/ 1>>$(USR_LOG_TRACE) 2>>$(USR_LOG_TRACE)
        @if [ -e $(PATH_USR_OBJ)/mp4dbuff.o ]; then echo [success] C Compile [$<] to [$@] 1>>$(USR_LOG_TRACE); else echo [failed] C Compile [$<] to [$@] 1>>$(USR_LOG_TRACE); fi
$(PATH_USR_OBJ)/mp4dinit.o:$(PATH_USR_ROOT)/src/arm_linux/video/mpeg4/decoder/mp4dinit.c
        -$(CC) -c $< -o $@ $(CFLAGS) $(OPT_INC_EXT) -I $(PATH_USR_ROOT)/src/arm_linux/video/mpeg4/decoder/ -I $(PATH_USR_ROOT)/src/arm_linux/video/mpeg4/_include/ -I $(PATH_USR_ROOT)/src/arm_linux/video/_include/ 1>>$(USR_LOG_TRACE) 2>>$(USR_LOG_TRACE)
        @if [ -e $(PATH_USR_OBJ)/mp4dinit.o ]; then echo [success] C Compile [$<] to [$@] 1>>$(USR_LOG_TRACE); else echo [failed] C Compile [$<] to [$@] 1>>$(USR_LOG_TRACE); fi
$(PATH_USR_OBJ)/mp4dmain.o:$(PATH_USR_ROOT)/src/arm_linux/video/mpeg4/decoder/mp4dmain.c
        -$(CC) -c $< -o $@ $(CFLAGS) $(OPT_INC_EXT) -I $(PATH_USR_ROOT)/src/arm_linux/video/mpeg4/decoder/ -I $(PATH_USR_ROOT)/src/arm_linux/video/mpeg4/_include/ -I $(PATH_USR_ROOT)/src/arm_linux/video/_include/ 1>>$(USR_LOG_TRACE) 2>>$(USR_LOG_TRACE)
        @if [ -e $(PATH_USR_OBJ)/mp4dmain.o ]; then echo [success] C Compile [$<] to [$@] 1>>$(USR_LOG_TRACE); else echo [failed] C Compile [$<] to [$@] 1>>$(USR_LOG_TRACE); fi
$(PATH_USR_OBJ)/mp4dmblk.o:$(PATH_USR_ROOT)/src/arm_linux/video/mpeg4/decoder/mp4dmblk.c
        -$(CC) -c $< -o $@ $(CFLAGS) $(OPT_INC_EXT) -I $(PATH_USR_ROOT)/src/arm_linux/video/mpeg4/decoder/ -I $(PATH_USR_ROOT)/src/arm_linux/video/mpeg4/_include/ -I $(PATH_USR_ROOT)/src/arm_linux/video/_include/ 1>>$(USR_LOG_TRACE) 2>>$(USR_LOG_TRACE)
        @if [ -e $(PATH_USR_OBJ)/mp4dmblk.o ]; then echo [success] C Compile [$<] to [$@] 1>>$(USR_LOG_TRACE); else echo [failed] C Compile [$<] to [$@] 1>>$(USR_LOG_TRACE); fi
$(PATH_USR_OBJ)/mp4dpars.o:$(PATH_USR_ROOT)/src/arm_linux/video/mpeg4/decoder/mp4dpars.c
        -$(CC) -c $< -o $@ $(CFLAGS) $(OPT_INC_EXT) -I $(PATH_USR_ROOT)/src/arm_linux/video/mpeg4/decoder/ -I $(PATH_USR_ROOT)/src/arm_linux/video/mpeg4/_include/ -I $(PATH_USR_ROOT)/src/arm_linux/video/_include/ 1>>$(USR_LOG_TRACE) 2>>$(USR_LOG_TRACE)
        @if [ -e $(PATH_USR_OBJ)/mp4dpars.o ]; then echo [success] C Compile [$<] to [$@] 1>>$(USR_LOG_TRACE); else echo [failed] C Compile [$<] to [$@] 1>>$(USR_LOG_TRACE); fi
$(PATH_USR_OBJ)/mp4dtble.o:$(PATH_USR_ROOT)/src/arm_linux/video/mpeg4/decoder/mp4dtble.c
        -$(CC) -c $< -o $@ $(CFLAGS) $(OPT_INC_EXT) -I $(PATH_USR_ROOT)/src/arm_linux/video/mpeg4/decoder/ -I $(PATH_USR_ROOT)/src/arm_linux/video/mpeg4/_include/ -I $(PATH_USR_ROOT)/src/arm_linux/video/_include/ 1>>$(USR_LOG_TRACE) 2>>$(USR_LOG_TRACE)
        @if [ -e $(PATH_USR_OBJ)/mp4dtble.o ]; then echo [success] C Compile [$<] to [$@] 1>>$(USR_LOG_TRACE); else echo [failed] C Compile [$<] to [$@] 1>>$(USR_LOG_TRACE); fi
$(PATH_USR_OBJ)/mp4dutil.o:$(PATH_USR_ROOT)/src/arm_linux/video/mpeg4/decoder/mp4dutil.c
        -$(CC) -c $< -o $@ $(CFLAGS) $(OPT_INC_EXT) -I $(PATH_USR_ROOT)/src/arm_linux/video/mpeg4/decoder/ -I $(PATH_USR_ROOT)/src/arm_linux/video/mpeg4/_include/ -I $(PATH_USR_ROOT)/src/arm_linux/video/_include/ 1>>$(USR_LOG_TRACE) 2>>$(USR_LOG_TRACE)
        @if [ -e $(PATH_USR_OBJ)/mp4dutil.o ]; then echo [success] C Compile [$<] to [$@] 1>>$(USR_LOG_TRACE); else echo [failed] C Compile [$<] to [$@] 1>>$(USR_LOG_TRACE); fi
$(PATH_USR_OBJ)/mp4dvops.o:$(PATH_USR_ROOT)/src/arm_linux/video/mpeg4/decoder/mp4dvops.c
        -$(CC) -c $< -o $@ $(CFLAGS) $(OPT_INC_EXT) -I $(PATH_USR_ROOT)/src/arm_linux/video/mpeg4/decoder/ -I $(PATH_USR_ROOT)/src/arm_linux/video/mpeg4/_include/ -I $(PATH_USR_ROOT)/src/arm_linux/video/_include/ 1>>$(USR_LOG_TRACE) 2>>$(USR_LOG_TRACE)
        @if [ -e $(PATH_USR_OBJ)/mp4dvops.o ]; then echo [success] C Compile [$<] to [$@] 1>>$(USR_LOG_TRACE); else echo [failed] C Compile [$<] to [$@] 1>>$(USR_LOG_TRACE); fi
#==============================================================================
# link                                                            (user update)
#==============================================================================
OBJS=\
$(PATH_USR_OBJ)/mp4dblck.o\
$(PATH_USR_OBJ)/mp4dbuff.o\
$(PATH_USR_OBJ)/mp4dinit.o\
$(PATH_USR_OBJ)/mp4dmain.o\
$(PATH_USR_OBJ)/mp4dmblk.o\
$(PATH_USR_OBJ)/mp4dpars.o\
$(PATH_USR_OBJ)/mp4dtble.o\
$(PATH_USR_OBJ)/mp4dutil.o\
$(PATH_USR_OBJ)/mp4dvops.o\

$(OUTPUT_TARGET):$(OBJS) $(USR_LIBS)
        $(LN) $(LNFLAGS) -o $@ $(OBJS) $(USR_LIBS) 1>>$(USR_LOG_TRACE) 2>>$(USR_LOG_TRACE)
        @if [ -e $(OUTPUT_TARGET) ]; then echo [success] Link [$@] 1>>$(USR_LOG_TRACE); else echo [failed] Link [$@] 1>>$(USR_LOG_TRACE); fi
发表于 2009-4-29 16:22:03 | 显示全部楼层

楼上问题解决没,

我也出现一样问题,不知如何处理。
回复

使用道具 举报

发表于 2009-5-6 19:58:20 | 显示全部楼层
应该是交叉编译工具版本的问题,建议换个版本试试吧
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-21 19:37 , Processed in 0.084138 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表