在Ubuntu上做C语言程序练习时,用到了sqrt函数,尽管在源文件中已包含了math.h头文件,但在编译的时候总是提示sqrt未定义。后来在网上查阅了相关资料,得知:在Linux系统下,C源文件若调用了math库里的函数,则编译时要加上-lm(是字母l,不是数字1),表示链接到math库。例如编译调用了math库函数的C源文件foo.c,可以用如下命令对其进行编译:
$gcc -o foo -g -W foo.c -lm
时间: 2024-10-11 15:25:33
在Ubuntu上做C语言程序练习时,用到了sqrt函数,尽管在源文件中已包含了math.h头文件,但在编译的时候总是提示sqrt未定义。后来在网上查阅了相关资料,得知:在Linux系统下,C源文件若调用了math库里的函数,则编译时要加上-lm(是字母l,不是数字1),表示链接到math库。例如编译调用了math库函数的C源文件foo.c,可以用如下命令对其进行编译:
$gcc -o foo -g -W foo.c -lm