2018-02-18
Linux下vscode C语言 对pow、exp未定义引用问题
问题描述
头文件使用math库时会出现“未定义引用”问题
报错:
/tmp/cct7CPFw.o:在函数‘main’中:
19012705.c:(.text+0x88):对‘pow’未定义的引用
collect2: error: ld returned 1 exit status
源代码:
1 |
|
在linux终端下也会出现一样问题
原因
linux中gcc没有默认链接math库
解决方法
vscode工作区文件夹下有一个.vscode
文件夹(没有就创建),在该文件下打开settings.json
(没有就创建)
左侧的4复制到右侧
在“C”
如图加上-lm
,保存即可
结果
)`
补充
linux上c语言的函数库在/usr/lib/
目录下,以lib*
开头.so
为后缀,*为库的名称,比如math库是libm.so
,stdio库是libc.so
。
gcc命令末尾-l库名称
就能链接函数库
…………………………………………………………………………………………………………..
补充
以上内容其实是对code runner
插件问题的解决,在调试中仍然会出现问题,这时需要对./.vscode/tasks.json
文件进行修改