gcc编译遇到的一些错误(随时补充)

5 篇文章 0 订阅
2 篇文章 0 订阅

自从用了博客之后,老汉发现这是个好东西啊。再也不用去各个工程项目文件夹下寻找自己做的笔记了。

现在把平时遇到的一些个错误放到上边来,谨防下次再范

  1. 错误: 双目运算符 * 操作数(‘int’和‘int *’)无效

    1. *n = * n + 1;
      
      在程序中写了上述代码, 编译器将*当作双目运算符,并未当作指针。正确代码如下
       int temp;
       temp = *n;
       *n = temp + 1; 

  2. 错误:error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘{’ token

    网上有很多人问错误在哪,总结一下几点,希望对大家有帮助
        1 include 前忘记了加上“#”
        2 某些关键字书写错误,如“void”(我糊涂地把它写成viod)
        3 main前缺少分号‘;’
        4 引用了自定义的头文件,在自定义头文件中出现了上述错误
  3. 错误error: expected expression before ‘{’ token

    long a[MAX];
    a[MAX]={0, 3, 6 ,6};

    问题就出在上述代码上。gcc编译器提示

    error: expected expression before ‘{’ token
      a[MAX]={0, 3, 6 ,6};

    高手们肯定不会犯这个错误,新手你看出来了么?正确形式如下
    long a[MAX]={0, 3, 6 ,6};
    原因在于这种数组的缺省初始化需要在定义时进行,或者单独对每个元素赋值。

  4. gcc编译提示:undefined reference to `pow'

    我已经在头文件中引用了,math.h文件,但是依然提示该错误。原因在于使用math.h中声明的库函数还有一点特殊之处,gcc命令行必须加-lm选项,因为数学函数位于libm.so库文件中(这些库文件通常位于/lib目录下),-lm选项告诉编译器,程序中用到的数学函数要到这个库文件里找。


configure: error: "flex required in PATH to complete build"


configure: error: "flex required in PATH to complete build"


  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值