Linux系统下gcc编译对“sqrt"未定义的引用、“exp”未定义的引用、“log”未定义的引用

在Linux系统下进行Flex/Bison试验中,需要调用数学库函数时报错:

cc编译的时候也要在指令后面加 -lm:

rookie@rookie-PC:~/Desktop$ cc fb3-2.tab.c fb3-2.lex.c fb3-2funcs.c -lm

即可编译成功。

编译成功即可生成可执行文件。

原因:缺少某个库,用 -l 参数将库加入。Linux的库命名是一致的, 一般为 libxxx.so, 或 libxxx.a, libxxx.la, 要链接某个库就用  -lxxx,去掉头 lib 及 "." 后面的 so, la, a 等即可。

常见的库链接方法为:数学库 -lm; posix 线程 -lpthread

文章参自Linux公社,原文地址https://www.linuxidc.com/Linux/2018-11/155614.htm


全部评论

相关推荐

码农索隆:我寻思你这么激动,拿到offer了呢
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务