2012-03-06 10 views
0

誰かが情報を持っている場合、この問題についてあなたの助けが必要です。リンクエラー:未定義静的なlibararyへの参照

Iは、makemake installを実行し、その後、(ARMアーキテクチャ)xscale-elfためspeex1.2rc1を設定しています。だから、私はのlibspeex.aを得て、libogg.aもコンパイルしました。それはその可能性があります

./configure --host=xscale-elf 

:として私は./configureオプションを渡さ

/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 

:しかし、私は、私はこのエラーを取得し、(LDFLAGS += -lspeex -lmを追加することで)私のプログラムにライブラリをリンクし、コンパイルしようとすると、リンカはlibspeex.aを見ることができない、と私はまた、Makefileの中の行LDFLAGS += /usr/local/lib/libspeex.a -lmを試みたが(もリンクして)別のエラーを得た:

/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 

答えて

0
./configure --host=xscale-elf 

ホストあなたはこれをコンパイルしていますが、ldへのパスを指定すると、クロスコンパイルしているように見えます。その場合、ホストはではなく、xscale-elf(おそらくi686-linux-gnuなど)である可能性があります。

あなたは適切なコンパイラや--target=xscale-elfを使用して(つまり、何でも)ホストターゲットの違いを理解し、あなたのspeex1を再構築する必要があります。

はまた、/usr/local/libtagetすることを目的のライブラリをインストールすることが行うには間違っものです。

関連する問題