
C言語初心者です,Vine Linuxを使用しています.
Makefileを用いたコンパイルをしたいのですが,あるcコード中にある,「sqrt」でコンパイラからエラー警告が出ます.
エラーコード:
gcc -o p001 pMain001.o pIo001.o pFnc001.o
pFnc001.o(.text+0x214): In function 'sqr_Rt':
: undefined reference to 'sqrt'
collect2: ld はステータス 1 で終了しました
make: *** [p001] エラー 1
Makefile:
#Makefile for p001
CC = gcc
p001: pMain001.o pIo001.o pFnc001.c
$(CC) -o p001 pMain001.o pIo001.o pFnc001.o
pMain001.o: pMain001.c pIo001.c p001.h
$(CC) -c pMain001.c pIo001.c
pIo001.o: pIo001.c p001.h
$(CC) -lm pIo001.o pIo001.c
pFnc001.o: pFnc001.c p001.h
$(CC) -c p001.o pFnc001.c
プログラムの概要:
p001.hには,構造体定義と関数プロトタイプ宣言.
pIo001.cには,キーからの入力と,出力の関数.
pFnc001.cにはp001.hにある定義を用いた関数があり,この中にsqrtを使う関数がある.
pMain001.cではpIo001.cとpFnc001.cにある関数を利用し,入出力を行う.
Makefileの記述が間違っているような気がしてならないんですが,何せ勉強不足なものでよくわかりません.
<math.h>はp001.hでインクルードしていますが,これは違いますか?
長文を読んで下さってありがとうございます,「ココおかしい」などの指摘お待ちしています;;
No.2
- 回答日時:
gccはldがエラーを返したってことでソースは問題ありません。
必要なライブラリが指定されていないのだと思います。lib*.aというたぐいの。sqrtの実体があるライブラリを指定しましょう。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel VABについて 下記記述が...
-
Texに詳しい方よろしくお願いい...
-
End Sub が必要です。
-
エクセルで特定の列が0表示の場...
-
教えて下さい
-
UWLSの記録でマクロを作成し使...
-
エクセルで別のセルにあるふり...
-
【VBAエラー】Nextに対するFor...
-
メッセージボックスのOKボタ...
-
UserForm1.Showでエラーになり...
-
VBSからエクセルのマクロを起動...
-
Excel_マクロ_現在開いているシ...
-
String""から型'Double'への変...
-
配列数式の解除
-
フランスの生年月日(jj/mm/aaaa)
-
特定のPCだけ動作しないVBAマク...
-
メモ帳(テキストデータ)をExc...
-
エクセルVBA イベントプロシー...
-
【マクロ】【画像あり】4つの...
-
「0x00ff0000」?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
End Sub が必要です。
-
Excel VABについて 下記記述が...
-
フォートランのエラーについて...
-
intel fortranのエラーで困って...
-
他クラスからForm1内コントロル...
-
ラズパイ上の、pythonのエラー...
-
初歩的な質問ですが・・・
-
プロシージャ名のところでエラ...
-
python プログラミング vim
-
C言語の質問です。
-
Texに詳しい方よろしくお願いい...
-
構造体のポインタ参照
-
C++のことで・・教えてください。
-
VBでエラー'ActiveX component ...
-
ダブルコートのエスケープ
-
ISLispのsetq関数について教え...
-
typedef による2重定義
-
43:syntax error at end of input
-
解説サイトに従ったfortran並列...
-
コンパイル時のエラー
おすすめ情報