首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

【急问】关于mp3解码程序的移植问题

【急问】关于mp3解码程序的移植问题

我从网上下的mp3解码程序(基于arm的)包括:
common.h
common.c
decode.h
decode.c
huffman.h
huffman.c
fastimdct.c
Fastsb.c
LAYER3.C

其中LAYER3.C是mp3解码的主程序,我就修改了mp3数据存放的地址和解码后数据的存放地址;

我直接在LAYER3.C中写nios控制的主程序,LAYER3.C中原来的主程序作为子程序调用,用IDE编译的时候出现了这样的错误:
E:/mp3/SD_audio/mp3_syslib/Debug/libmp3_syslib.a(alt_main.o)(.text+0x60): In function `alt_main':
/cygdrive/c/altera/kits/nios2_60/components/altera_hal/HAL/src/alt_main.c:157: undefined reference to `main'
collect2: ld returned 1 exit status

之后,我又用了另外一个方法移植,就是:再建一个c文件写主程序,在文件头添加了:#include “LAYER3.C”,然后在主程序调用LAYER3.C的主程序mp3();结果错误更多,都是mp3()中的错误,而所有的错误都是mp3()中显示:自定义函数和自定义结构体没有定义,可是这些在common.h 、common.c 、decode.h 、decode.c 、huffman.h 、huffman.c 、fastimdct.c 、Fastsb.c
中定义过了。

最后,我又试了,不在文件头添加:#include “LAYER3.C”,编译后显示的是:mp3()(LAYER3.C的主程序)没有定义!

请问我的做法正确吗?出现这个错误是什么原因呢?

请大侠们赐教!
返回列表