DSP

交叉编译liquid-dsp-1.2.0

2019-07-13 11:46发布

转发请注明出处:http://blog.csdn.net/kelvin460022272 交叉编译工具版本:gcc version 4.5.1 (ctng-1.8.1-FA)  编译目标文件:liquid-dsp-1.2.0 目标板子: tiny 4412

编译步骤: 1. 使用configure生成makefile文件    ./configure CC=arm-linux-gcc --host=arm-linux 2. 修改config.h,不知道为什么configure会检测不到malloc ,realloc函数。并且重新把malloc定义为rpl_malloc,realloc定义为rpl_realloc。 这连个函数在我的系统里面都没有,导致后面编出来的库会找不到这两个函数运行的时候就出错了。malloc和realloc在标准库里面就有了,既然 自动检测不到,那我就手动修改好了。 把HAVE_MALLOC和HAVE_REALLOC都改为1, 把定义去掉。


3. 使用make开始编译。  编译到一半就出现错误了:
其实这个错误很好理解,就是想用一个编译出来的程序去生成一个.c文件。因为我们生成的程序是arm指令的,在PC上肯定跑不了了。我试了一下用 gcc去编译这个程序并在PC上跑,发现这个.c程序就是一个数组。想了想,这个数组可能跟CPU有关系的,还是把程序方到板子上跑,然后生成文件 再拷回来。 文件拷过来后继续编译,才编译了一下又出现错误了。
这是编译器错误啊,上网找了一下,没找到解决方法,但知道了这个错误是在解析语法的时候出现问题了。那就先看看源码,为什么会有语法错误了。 看起来使用的变量比较多。那我就尝试简化一下这些变量。竟然可以解决这个问题了。修改方法如下: 继续编译又出现错误了。不过这个错误跟上面生成.c文件的错误是一样的。 解决完这个错误之后终于大功告成,编译成功了。