0

コンパイルしようとすると、次のエラーが発生します。

error: undefined reference to `sinf'

math.h をインクルードし、そこで定義されていることを確認しました。

#include <math.h>

ただし、数学ライブラリにリンクしようとするとエラーが発生します。

arm-none-eabi-ld -L/usr/lib -lm --gc-sections -T ../standalone.ld -o "main.elf"  ./main.o ./startup_gcc.o  
error: cannot find -lm

ただし、ライブラリは明らかに存在します。

Kens-MacBook-Pro:lib Ken$ pwd
/usr/lib
Kens-MacBook-Pro:lib Ken$ ls | grep libm
libm.dylib
libmecab.1.0.0.dylib
libmecab.dylib
libmecabra.dylib
libmenu.5.4.dylib
libmenu.dylib
libmx.A.dylib
libmx.dylib
Kens-MacBook-Pro:lib Ken$ 

私は何を間違っていますか?私はエクリプスを使用しています。

4

1 に答える 1

2

あなたのコマンドから判断すると、arm-none-eabi-ldクロスコンパイルしていると思います。プラットフォームが何であれ、何らかの数学ライブラリをツールチェーンにインストールする必要があります。

投稿したls出力には、ターゲットではなく、ホストで使用できるライブラリのリストが含まれています。私のマシンでは、たとえば、ARM クロスコンパイラのライブラリが存在します/opt/local/arm-none-eabi/lib/

danieltang ~$ ls /opt/local/arm-none-eabi/lib/
crt0.o      ldscripts  libm.a     libssp_nonshared.a   libstdc++.a-gdb.py  libsupc++.la
elf2flt.ld  libc.a     libssp.a   libssp_nonshared.la  libstdc++.la    thumb
fpu         libg.a     libssp.la  libstdc++.a          libsupc++.a
于 2013-10-27T02:05:36.193 に答える