C/C++編譯報(bào)錯(cuò)printf was not declared in this scope問題及解決
C C++編譯報(bào)錯(cuò)printf was not declared in this scope
原因是這個(gè) printf 函數(shù)需要頭文件 "stdio",但是程序中沒寫,解決辦法是在頭文件中加入此頭文件。
C語言加入
#include<stdio.h>
C++加入
#include<cstdio>
C C++常見編譯錯(cuò)誤提示釋義
1.iteration 16 invokes undefined behavior**
常見于對(duì)數(shù)組的操作,數(shù)組溢出錯(cuò)誤。
數(shù)組定義為20個(gè)字節(jié),而for循環(huán)判斷條件應(yīng)為<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**
數(shù)組元素比定義元素多
3.passing argument 1 of ‘sprintf’ discards ‘volatile’ qualifier from pointer target type**
加上強(qiáng)制轉(zhuǎn)換
volatile uint8_t str[10]; sprintf((char*)str,“0”);
4.in expansion of macro
宏定義錯(cuò)誤
在頭文件中避免短宏定義,容易重復(fù);例如
//#define SIZE 24 prop_name 參數(shù)為 SIZE LV_STYLE_##prop_name
預(yù)編譯為 LV_STYLE_24 出錯(cuò)
C C++編譯錯(cuò)誤整理
面這些是我自己在學(xué)習(xí)工作遇到的編譯問題,以及可行的解決辦法,整理一下,也方便自己及時(shí)查閱 ︿( ̄︶ ̄)︿︿( ̄︶ ̄)︿︿( ̄︶ ̄)︿
1.VC打開已存在的工程提示錯(cuò)誤 C1083:缺少 *.pch
問題解決:
Project->c/c++,然后點(diǎn)擊Category的下拉框,選擇Precompiled Headers,
接著選擇第二項(xiàng),Automatic use of precompiled headers , 編輯框里填 *.h ,這樣做的前提是你的 *.h 和 *.cpp 都已存在。
問題就解決了。
2.VS打開已存在工程,出現(xiàn) error MSB3073
英文版處理辦法:
- Project->Configuration Properties->General->Target Extension設(shè)置為.ocx 或者.dll
- Project->Configuration Properties->Linkerl->General ->Output File設(shè)置為$(OutDir)$(ProjectName)$(TargetExt)
中文版處理辦法:
- 在項(xiàng)目上點(diǎn)右鍵,選擇“屬性”->“配置屬性”->“常規(guī)”->“目標(biāo)文件擴(kuò)展名”,設(shè)置為.ocx 或者.dll
- 在項(xiàng)目上點(diǎn)右鍵,選擇“屬性”->“配置屬性”->“鏈接器”->“ 常規(guī) ”->“輸出文件”,設(shè)置為$(OutDir)$(ProjectName)$(TargetExt)
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
C語言實(shí)現(xiàn)紙牌計(jì)算24點(diǎn)小游戲
這篇文章主要為大家詳細(xì)介紹了C語言實(shí)現(xiàn)紙牌計(jì)算24點(diǎn)小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-10-10C++之構(gòu)造函數(shù)默認(rèn)值設(shè)置方式
這篇文章主要介紹了C++之構(gòu)造函數(shù)默認(rèn)值設(shè)置方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-08-08c++ lambda捕獲this 導(dǎo)致多線程下類釋放后還在使用的錯(cuò)誤問題
Lambda表達(dá)式是現(xiàn)代C++的一個(gè)語法糖,挺好用的。但是如果使用不當(dāng),會(huì)導(dǎo)致內(nèi)存泄露或潛在的崩潰問題,這里總結(jié)下c++ lambda捕獲this 導(dǎo)致多線程下類釋放后還在使用的錯(cuò)誤問題,感興趣的朋友一起看看吧2023-02-02C語言使用rand函數(shù)生成隨機(jī)數(shù)
這篇文章介紹了C語言使用rand函數(shù)生成隨機(jī)數(shù)的方法,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-12-12