Linux学习---GCC编译常见错误

  • 预处理错误:
  1. No such file or directory

出错原因:①包含错误:eg  #include <abc.h>    //abc.h为用户自行编写文件

    解决方法:⑴应改为#include “abc.h”    //用尖括号是表示从C库中寻找,一般为C自带类,如stdio.h、string.h等。应用用户自建的文件应使用“”(引号)。

         ⑵编译时添加 -I(大写i) filename(文件目录)  //将filename作为第一个寻找头文件的目录。    //参考:https://www.cnblogs.com/biglucky/p/4034923.html

 

  • 编译错误:

    语法错误:;  { }  

  • 链接错误:

    ① 原材料不足(函数只有声明,没有实现) undefined reference to 'fun'

    原因:标签(函数等)只有声明,没有实现

    解决方法:寻找标签(函数)是否实现,链接时是否加入一起链接。

    ② 材料多余  multiple definition of  'fun'

    原因:标签(函数等)多次实现。

    解决方法:去掉多余的标签(函数)实现。

原文地址:https://www.cnblogs.com/BANLOONG/p/10440839.html