- UID
- 151116
- 性别
- 男
|
我从网上下的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的主程序)没有定义!
请问我的做法正确吗?出现这个错误是什么原因呢?
请大侠们赐教!
|
|