这个问题出现在在linux中通过gcc编译包含math.h的头文件时出现的。
先说怎么解决:输入gcc 文件名.c -lm -o 文件名。
主要是多加了-lm,这个是libm.so库文件的缩写,在linux中的库都是lib,-l是用来指定路径的,lm就是这个库的首尾。
大家可能会疑问:
我已经加了头文件math.h了,为什么还需要用-l呢?
这是因为gcc的函数是在libm.so里面,而不是在默认路径/usr/lib里面。
因此,当我们在gcc中找不到库时,可以用-l来指定库名。
这个问题出现在在linux中通过gcc编译包含math.h的头文件时出现的。
先说怎么解决:输入gcc 文件名.c -lm -o 文件名。
主要是多加了-lm,这个是libm.so库文件的缩写,在linux中的库都是lib,-l是用来指定路径的,lm就是这个库的首尾。
我已经加了头文件math.h了,为什么还需要用-l呢?
这是因为gcc的函数是在libm.so里面,而不是在默认路径/usr/lib里面。
因此,当我们在gcc中找不到库时,可以用-l来指定库名。