私はこのMakefileのデバッグフラグ(位相/リンクフェーズをコンパイル)
application=<somebinaryname>
CXXFLAGS=-g -std=c++14 -Wall -Werror -pedantic
LDFLAGS=-g
auto: $(application)
$(application): main.o aaa.o aab.o aba.o baa.o
$(CXX) $(LDFLAGS) -o [email protected] $^
%.o: %.cpp
$(CXX) $(CXXFLAGS) -c $< -o [email protected]
# rest of Makefile not relevant to my question
を持って -gオプションは(CXXFLAGSで)コンパイルフェーズ中に行くことになっている場合、誰かが私に教えてくださいすることができリンクフェーズ中(LDFLAGSを使用)?私はどこにでも例やドキュメントを探したが、それらすべてが(でもmanページ)のような非常に些細な例があります。
gcc -g -o binary source.cpp
私はそれを得るが、それははるかに私に教えてくれありません。
これ以上の明確性はありますか?
。私の質問はおそらく十分に明確ではなかった。あなたのリンクはすでに5000種類の異なる文書に存在する情報を繰り返します。私は、-gがすべてのシンボル名をそのまま使用して、最適化されていないデバッグバイナリを生成することを知っています。私はデバッグとは何か、デバッグファイルとは何か、使用されている理由、使用方法、そして何年もそれを使用してきたことを知っています。しかし、私が不確かなのは、 '-g'や '-ggdb'がコンパイル段階( '-c'のように)やリンク段階で実行されるべきかどうかです。もう一度、私の具体的なMakefileの例では、CXXFLAGSやLDFLAGS、あるいはその両方のようにする必要がありますか? –