0

如果有人有信息,我需要你关于这个问题的帮助。

我已经speex1.2rc1xscale-elf(ARM 架构)进行了配置,然后执行makemake install. 所以,我libspeex.a在 with 中也获得了/usr/local/lib编译libogg.a。但是当我将库链接到我的程序(通过添加LDFLAGS += -lspeex -lm)并尝试编译时,我收到此错误:

/usr/lib/gcc/xscale-elf/3.4.3/../../../../xscale-elf/bin/ld: cannot find -lspeex
collect2: ld returned 1 exit status
make: *** [exe0] Error 1

我将选项传递 ./configure为:

./configure --host=xscale-elf

链接器很可能看不到libspeex.a,我也在 LDFLAGS += /usr/local/lib/libspeex.a -lmMakefile 中尝试了该行,但出现了另一个错误(也在链接中):

/tmp/ccvi7Pns.o(.text+0x179c): In function `main':
: undefined reference to `BlinkC$speex_bits_init'
collect2: ld returned 1 exit status
make: *** [exe0] Error 1
4

1 回答 1

0
./configure --host=xscale-elf

您没有告诉您要在哪个主机上进行编译,但是鉴于您的 . 的路径,您ld似乎正在交叉编译。如果是这样,您的主机可能不会 xscale-elf(但可能是i686-linux-gnu这样的)。

您需要了解hosttarget之间的区别,并使用适当的编译器重建您的speex1(无论是什么)和--target=xscale-elf.

此外,安装用于taget的库/usr/local/lib错误的做法。

于 2012-03-07T05:06:54.683 回答