私は数学関数を使用するコードを作成しようとしています(例pow
)。
math.h
が含まれ、フラグ-lm
はビルド中に使用されます。
このようにコンパイルが呼び出されると(-lm
コマンドの先頭にあるフラグ)、:への未定義の参照があると言って失敗しましたpow
。
gcc -lm -O3 main.o clustering.o grassberger.o hash.o list.o mat.o metropolis.o motif_ids.o output.o permutation.o prob.o random.o results.o role.o stubs.o switches.o -o mfinder
main.o: In function `get_sn_motif_id':
main.c:(.text+0x28d): undefined reference to `pow'
そして、-lm
旗がコマンドの終わりに置かれるとき、それは働きます!
gcc -O3 main.o clustering.o grassberger.o hash.o list.o mat.o metropolis.o motif_ids.o output.o permutation.o prob.o random.o results.o role.o stubs.o switches.o -o mfinder -lm
これは正常ですか?