2016-03-25 20 views
-1

メイク:私はメイクファイルを作成しようとしている

lambda : main.o 
    gcc -o lambda main.o 
main.o : main.c 
    gcc -c main.c -o main.o 

.PHONY : clean 

私が代わりに私の実行可能ファイルの答えとして得るすべては

main.o: In function `fn': 
main.c:(.text+0x199): undefined reference to `pow' 
main.c:(.text+0x1c6): undefined reference to `pow' 
main.c:(.text+0x1eb): undefined reference to `log10' 
main.o: In function `fnPrime': 
main.c:(.text+0x21d): undefined reference to `pow' 
main.c:(.text+0x246): undefined reference to `pow' 
main.c:(.text+0x26b): undefined reference to `log10' 
main.c:(.text+0x2af): undefined reference to `pow' 
collect2: error: ld returned 1 exit status 
make: *** [lambda] Error 1 

何が間違っているのですか?

+1

あなたのMakefileは問題ありません。あなたのCコードに問題があります。 – tripleee

答えて

2

数学ライブラリへの参照がないようです。 -lmをmakeコマンドの末尾に追加する必要があります

0

まあ、stackoverflowで検索した結果、リンク行の最後にオプション-lmを置かなかったということがわかりました。

lambda : main.o 
    gcc -o lambda main.o -lm 
main.o : main.c 
    gcc -c main.c -o main.o 

.PHONY : clean 
    clean : rm lambda main.o 
関連する問題