gcc -l参数和-L参数

来源:互联网 发布:现在开淘宝挣钱吗 编辑:程序博客网 时间:2024/05/17 04:12

                                                                                  

 

gcc -l参数和-L参数


在学习linux 对c编译时出现如下错误


该问题对应源程序如下:


在这里为什么会出现undefined reference to 'sqrt'错误?

首先这是链接错误,不是编译错误,是你用编译器编译时参数用得不对,你没有指定链接程序要用到得库,这里我用到了数学函数sqrt,那么你就要在编译参数里指定程序要链接数学库,方法是在编译命令行里加入-lm

接下来我们输入正确的编译语句,结果如下:


解决了以上问题,我们来了解一下gcc -l参数和-L参数的用法

 

 

-l参数和-L参数

-l参数就是用来指定程序要链接的库,具体用法如下:拿数学库来说,它的库文件名是libm.so它的库名为m

假如要用到一个第三方提供的库名字叫libxxx.so,那么我们只要把libtxxx.so拷贝到/usr/lib里,编译程序时加上-ltxxx参数,就可以编译了放在/lib/usr/lib/usr/local/lib里的库直接用-l参数就能链接了,但如果库文件没放在这三个目录里,而是放在其他目录里,这时我们要用另外一个参数-L。再比如我们把libxxx.so放在/c/d目录下,那链接参数就是-L/c/d -lxxx

一般情况下,我们/usr/local/lib 中是没有内容的

这里我列举了一下我的红帽5中/usr/lib 中的提供的一些库:


 

 

 

 

 
0 0
原创粉丝点击