小编jte*_*ori的帖子

gcc和math.h的奇怪行为?

我一直在尝试构建一些使用数学函数的代码(例如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'
Run Code Online (Sandbox Code Playgroud)

-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
Run Code Online (Sandbox Code Playgroud)

这是正常的吗?

c math pow

8
推荐指数
1
解决办法
2866
查看次数

标签 统计

c ×1

math ×1

pow ×1