【Linux学习笔记18】使用GCC编译时容易忽略的头文件与库

在我们使用GCC编译器编译一个大程序的时候,可能一些头文件以及库会放在不同的文件夹中,经常容易导致GCC编译后的文件会报错,那么下面是主要简单介绍一下GCC关于库以及头文件的内容:
首先我们常见的工程结构主要是:Includelibsrc等等
假设我们的Main.c函数是在src目录下的话,我们学校的老师一般只会教我们在src目录下直接运行gcc main.c -o main即可,但是这只是应对一个小程序,当我们真正去做一个大项目的时候,很明显是不能用的。
如图所示我们看看例子的目录结构:
如果我们要编译一个包含了整个工程结构的Main.c函数就应该要这样使用:
在这里插入图片描述

gcc src/main.c -o main -L/lib -lsum -I./include 

下面来解释一下这个语句:
第一部分:gcc src/main.c -o main就是使用GCC编译main.c程序为main的可执行文件
第二部分:-L/lib -lsum这里是一个参数,用于链接sum这个库,然后要告诉系统这个库的位置,但是如果在我们后面真正接触项目的时候,一个文件夹里面还有很多库,因此我们就要指定一个库,我们就要在后面加上这个库的名字sum,-l是参数(小写L)。
(这里可能会有疑问就是:库的名称是有前缀以及后缀的,前缀是lib,后缀是.so,因此我们链接的时候只要输入库的名字,如sum即可。)
第三部分:-I./include这里是指定头文件的地方,就是inlcude里面,但是可以发现这里不需要像库那样指定地那么多,其实也是有这个特定的指明,只不过在main.c函数中已经inlclude了这个头文件的位置。在这里插入图片描述
但是如果是在Main.c文件中没有指定这个头文件的位置,在使用GCC编译语句中一样要指定头文件的名称,因为同一个文件夹中,还是有很多头文件的,这个大家都应该理解吧。

以上内容纯属本人小白初学Linux系统的一次学习笔记,如果对您有所帮助,我很高兴。若有写错或者说错的地方,请您多多包涵,望有更多大神来指点迷津,谢谢。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值