[解決済み] makefileでLDFLAGSを使用する方法
2022-03-04 17:05:21
質問
私はLinux OSの初心者です。をコンパイルしようとしています。
.c
ファイルを makefile を使って作成します。数学ライブラリはリンクされなければなりません。私のmakefileは次のようなものです。
CC=gcc
CFLAGS=-Wall -lm
all:client
.PHONY: clean
clean:
rm *~ *.o client
を実行すると
make
というエラーが表示されます。
"undefined reference to rint"
そのため、数学ライブラリをリンクすることができません。
を使って明示的にコンパイルすると
gcc client.c -lm -o client
を実行すると、コンパイルに成功します。
では、どのようにmakefileを変更すれば、うまくいくのでしょうか?私はすでに
LDFLAGS=-lm
. でも、同じエラーが出ます。
を実行したときにも
make
に展開されます。
gcc -Wall -lm client.c -o client
(を実行したときに気づくこと)。
gcc
で明示的に
-lm
を末尾につけると動作します)。
解決方法は?
リンカ(ld)は明らかにmakeがGCCの引数を並べる順番を好まないので、Makefileを少し変更する必要があります。
CC=gcc
CFLAGS=-Wall
LDFLAGS=-lm
.PHONY: all
all: client
.PHONY: clean
clean:
$(RM) *~ *.o client
OBJECTS=client.o
client: $(OBJECTS)
$(CC) $(CFLAGS) $(OBJECTS) -o client $(LDFLAGS)
を定義している行で
クライアント
ターゲットの順番を変更します。
$(LDFLAGS)
を使用します。
関連
-
[解決済み】makefile:4。*** missing separator. 停止する
-
[解決済み】Makefileの中の.PHONYの目的は何ですか?
-
[解決済み】コマンドラインからmakeに追加の変数を渡す場合
-
[解決済み] makefileの*.o/.suffixesは何を意味しているのですか?
-
makefileによくあるエラー-セパレータの欠落.stop-コマンドラインのタブキー欠落の理由
-
[解決済み] makefileでLDFLAGSを使用する方法
-
[解決済み] .mkファイルとMakefileの違いについて
-
[解決済み] GNU Makefile の変数割り当て =, ?=, :=, += の違いは何ですか?
-
[解決済み] makefile の記号 $@ と $< はどういう意味ですか?
-
[解決済み] ってなんですか?(アットマークコロン)はMakefileの中でどういう意味ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】makeコマンドのエラー makefile:18: *** missing separator. 停止する [重複]。
-
[解決済み】Makeエラー:セパレータがない
-
[解決済み】「make」と「make all」の違いとは?
-
[解決済み] Makefile のターゲットとしてグロブパターンを指定する
-
[解決済み] makeとmake distの違いは何ですか?
-
[解決済み] makefileの "all "は何の略ですか?
-
[解決済み] .mkファイルとMakefileの違いについて
-
[解決済み】OSがmakefileを検出する
-
[解決済み] Make: コマンドが失敗した後、どのように続行するのですか?
-
[解決済み] Makefileの変数が前提条件として設定されていることを確認する方法は?