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

 

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值