开发者

C/C++编译报错printf was not declared in this scope问题及解决

目录
  • C C++编译报错printf was not declared in this scope
    • C语言加入
    • C++加入  
  • C C++常见编译错误提示释义
    • 1.iteration 16 invokes undefined behavior**
    • 2.warning: excess eleme编程nts in array initializer**
    • 3.passing argument 1 of ‘sprintf’python discards ‘volatile’ qualifier from pointer target type**
    • 4.in expansion of MACro
  • C C++编译错误整理
    • 1.VC打开已存在的工程提示错误 C1083:缺少 *.pch
    • 2.VS打开已存在工程,出现 error MSB3073
  • 总结

    C C++编译报错printf was not declared in this scope

    原因是这个 printf  函数需要头文件 "stdio",但是程序中没写,解决办法是在头文件中加入此头文件。

    C语言加入

    #include<stdio.h>

    C++加入  

    #include<cstdio>

    C C++常见编译错误提示释义

    1.iteration 16 invokes undefined behavior**

    常见于对数组的操作,数组溢出错误。

    数组定义为20个字节,而for循环判断条件应为<20

     uint8_t oldrelay[20] = { 0U };
     for ( i = INDUCTOR_160nH; i <= 20; i++ )
      {
        oldrelay[ i ] = SET;
        relay[ i ] = RESET;
      }

    2.warning: excess elements in array initializer**

    数组元素比定义元素多

    3.passing argument 1 of ‘sprintf’ discards ‘volatile’ qualifier from pointer target type**

    加上强制转换

    volatile uint8_t str[10];
    sprintf((char*)str,“0”);

    4.in expansion of macro

    宏定义错误

    在头文件中避免短宏定义,容易重复;例如

    //#define SIZE 24
    prop_name 参数为 SIZE
    LV_STYLE_##prop_name

    预编译为 LV_STYLE_24 出错

    C C++编译错误整理

    面这些是我自己在学习工作遇到的编译问题,以及可行的解决办法,整理一下,也方便自己及时查阅   ︿( ̄︶ ̄)︿︿( ̄︶ ̄)︿︿( ̄︶ ̄)︿

    1.VC打开已存在的工程提示错误 C1083:缺少 *.pch

    问题解决:

    Project->c/c++,然后点击Category的下拉框,选择Precompiled Headers,

    接着选择第二项,Automatic use of precompiled headers ,  编辑框里填 *.h  ,这样做的前提是你的 *.h 和 *.cpp 都已存在。

    问题就解决了。

    2.VS打开已存在工程,出现 error MSB3073

    英文版处理办法: 

    • Project->Configuration Properties->General->Target Ex编程tension设置为.ocx 或者.dll
    • Project->Configu编程客栈ration Properties->Linkerl->General ->Output File设置为$(OutDir)$(ProjectName)$(TargetExt)

    中文版处理办法: 

    • 在项目上点右键,选择“属性”->“配置属性”->“常规”->“目标文件扩展名”,设置为.ocx 或者.dll
    • 在项目上点右键,选择“属性”->“配置属性”->“链接器”->“ 常规 ”->“输出文件”,设置为$(OutDir)$(ProjectName)$(TargetExt)

    总结

    以上为个人经验,希望能给android大家一个参考,也希望大家多多支持编程客栈(www.devze.com)。

    0

    上一篇:

    下一篇:

    精彩评论

    暂无评论...
    验证码 换一张
    取 消

    最新开发

    开发排行榜