2015.12.29

来自软件实验室
高晗讨论 | 贡献2015年12月30日 (三) 13:16的版本 (创建页面,内容为“中午解决了这个困惑了我两天的问题。心情不错! 在使用sqrt这个求平方根函数时,加了头文件#include <stdio.h> 和#include <math.h>...”)

(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳转至: 导航搜索

中午解决了这个困惑了我两天的问题。心情不错! 在使用sqrt这个求平方根函数时,加了头文件#include <stdio.h> 和#include <math.h>,然而gcc 编译之后总是出现“sqrt未引用”的错误。 解决方案:使用gcc v.c -o v -lm 原因:-lm是连接数学库;   -lm命令是使编译的时候,链接数学库, -lptread 链接线程库,可以使自己编译的库 ;   g++编译程序成为.o目标函数,然后需要和库函数连接到一起;   gcc 在编译时就可以将其替换为对应的值(gcc 优化的一部分),从而不需要链接 sqrt 所在的数学库 libm;而像 sqrt(n); 这种调用,一般无法做这种替换,因此需要链接 libm。 好了,吃饭去!