-lm
オプションはg++で何をし、いつ必要になりますか?
g ++オプションの完全な説明はありますか?
これはリンカーオプションです。ライブラリ(libm.so/dll)-l
とリンクするようにリンカに指示します。m
それが数学ライブラリです。あなたがするなら、あなたはしばしばそれを必要とします#include <math.h>
。
オプションは何もしませんg++
:この回答を参照するとhttps://stackoverflow.com/a/1033940/1143274 libstdc++
が必要なlibm
ので、常に。によってリンクされg++
ます。
gcc
ただし、このスレッドhttp://www.linuxforums.org/forum/programming-scripting/125526-c-gcc-math-h-lm.htmlで調査した、ある種の自動リンク動作もあります。それがどこから来て、どのライブラリに適用されるかについての答えが見つからないようです...