历久弥坚 发表于 2016-10-1 21:54:46

Linux中编辑C语言时添加自定义头文件"XXX.h"

本帖最后由 历久弥坚 于 2016-10-1 21:56 编辑

如果在编译一个程序时出现undefined reference to 'XXXX'错误,这是编译器发现程序文件中未正确调用自定义的程序库,其解决方法如下:

1、-include和-l
在编译时,我们通常在代码开头定义为
#include <XXX.h>
此时编译器将自动调用/usr/include目录中的"XXX.h"文件。
按照这个原理,可将自定义的头文件"YYY.h"同样复制到/usr/include,即可方便的调用"YYY.h"文件。

2、-l参数和-L参数
-l参数就是用来指定程序要链接的库,-l参数后面紧接着库名。
首先将自定义的"YYY.h"头文件复制到/usr和/usr/lib和/usr/local/lib文件夹里,然后在编译test程序时,添加 -l/"文件名"即可。
gcc test.c -l/YYY.h&& ./a.out

3、不复制而直接调用自定义头文件
若是不复制到指定文件夹,还可在vim中链接代码与XXX.h头文件所在地址。例如"YYY.h"文件在/usr/mylib文件夹中,即可如此操作:
gcc test.c -l/usr/mylib/YYY.h && ./a.out
页: [1]
查看完整版本: Linux中编辑C语言时添加自定义头文件"XXX.h"