簡単な質問です。サンプル Makefile に「DLDFLAGS」と「LDFLAGS」の両方が見つかりました。使用するコンパイラは gcc です。どちらもリンカーに使用されているようです。それらの違いは何だろうと思います。
12887 次
2 に答える
9
LDFLAGS
通常、リンカーに渡されるオプションを含むように設定されます (必要なライブラリが含まれる場合があります)。とともにCFLAGS
、これらは多くの場合、開発者の環境変数の一部として設定され、make
それらについて認識されるため、設定されているかどうかを積極的に確認し、コンパイラに渡します。
たとえばCFLAGS
、自分の環境で を に設定した-O2 -Wall
場合、Makefile を指定せずに入力make hello
すると、make は自動的にコンパイラを として呼び出しgcc -O2 -Wall hello.c -o hello.o
ます。LDFLAGS
次に、コマンド ラインにフラグを追加して、同様の方法でリンカーを呼び出します。
LDFLAGS
Makefile は、 と の両方を明示的にオーバーライドできますCFLAGS
。
DLDFLAGS
一方、よく知られている/定義された変数ではないため、その特定の Makefile に固有である可能性があります。Makefile を読んで、それがどのように使用されているかを知る必要があります。たとえば、LDFLAGS
が設定されている場合に使用するリンカ フラグを定義する場合があります - Makefile を読んで確認してください。
于 2012-01-19T19:12:49.570 に答える