马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 历久弥坚 于 2016-10-1 21:56 编辑
如果在编译一个程序时出现undefined reference to 'XXXX'错误,这是编译器发现程序文件中未正确调用自定义的程序库,其解决方法如下:
1、-include和-l
在编译时,我们通常在代码开头定义为此时编译器将自动调用/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
|