IAR error匯總_第1頁(yè)
IAR error匯總_第2頁(yè)
IAR error匯總_第3頁(yè)
IAR error匯總_第4頁(yè)
IAR error匯總_第5頁(yè)
已閱讀5頁(yè),還剩21頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、無(wú)編號(hào)警告類(lèi)型:1、Sat Jun 23, 2012 17:41:05: The stack pointer for stack 'Stack' (currently Memory:0xF5336) is原因:    IAR相關(guān)設(shè)置:Tools->Option->Stack->Warn when stack pointer is out of bounds. 2、無(wú)法查看結(jié)構(gòu)體/共同體/聯(lián)合體 變量Syntax error, unexpected $end, expecting COLON2 column 1&

2、#160; struct  drpoint       uint16 x;     uint16 y;   drpoint10; 改成:  struct         uint16 x;     uint16 y;   drpoint10; 參考: UESTC 2012.12 IAR 各版本BUG

3、錯(cuò)誤修正歷史:ftp:/efo- software/EWAVR32-KS-CD-220A/doc/common/doc/CorrectedProblems.pdf有編號(hào)警告類(lèi)型: Errore16: Segment XDATA_Z (size: 0x19a1 align: 0) is too long for segment definition. At least 0xe4c more bytes needed. The problem occurred while processing the segment placement command"-Z(XDATA)XDA

4、TA_N,XDATA_Z,XDATA_I=_XDATA_START-_XDATA_END", where at the moment of placement the available memory ranges were "XDATA:f1ff-fd53"Reserved ranges relevant to this placement:XDATA:f000-f1fe XSTACKXDATA:f1ff-fd53 XDATA_NBIT:0-7 BREGBIT:80-97 SFR_ANBIT:a8-af SFR_ANBIT:b8-c7 SFR_ANBIT:d8-

5、df SFR_ANBIT:e8-ef SFR_ANA:其實(shí)這個(gè)問(wèn)題并不是你的程序本身有問(wèn)題,主要是因?yàn)槟憔帉?xiě)的程序太大了,超出了芯片本身的定義。今天在群里學(xué)習(xí)了一招,就是將數(shù)組定義到code里,我們看一下例子。我們定義一個(gè)5100個(gè)元素的數(shù)組,有以下兩種方法:mermaid提出的方法是:typedef unsigned char const _code INT8U;extern INT8U shuzi5100;文晶提出的方法是INT8U code shuzi5100;這兩種方法其實(shí)效果是一致的,定義完數(shù)組之后,調(diào)用的部分就是需要用指針來(lái)調(diào)用數(shù)組里面的數(shù)值了。Errore16: Segment

6、DATA16_I (size: 0xa80 align: 0x1) is too long for segment definition. At least 0x27f more bytes needed. Thepro××em occurred while processing the segment placement command"-Z(DATA)DATA16_I,DATA16_Z,DATA16_N,HEAP+_HEAP_SIZE=0200-0A00", where at the moment of placement the ×

7、15;aila××ememory ranges were "CODE:200-A00"經(jīng)過(guò)驗(yàn)證是由于RAM耗盡,程序里估計(jì)有很大的數(shù)據(jù)量,最好使用const定義到FLASH里面,問(wèn)題基本可以解決。Errore16: Segment DATA16_Z (size: 0x6b9 align: 0x1) is too long for segment definition. At least 0x317 more bytes needed. The problem occurred while processing the segment place

8、ment command "-Z(DATA)DATA16_I,DATA16_Z,DATA16_N,TLS16_I,DATA16_HEAP+_DATA16_HEAP_SIZE=0200-09FF", where at the moment of placement the available memory ranges were "CODE:5ce-5ff,CODE:602-605,CODE:609-60b,CODE:60d-60d,CODE:60f-61b,CODE:61e-63f,CODE:642-645,CODE:649-64b,

9、CODE:64d-64d,CODE:64f-65b,CODE:65e-9ff"   Reserved ranges relevant to this placement:可能的原因:1、設(shè)置的某個(gè)數(shù)組過(guò)大,超過(guò)了設(shè)置的堆棧。            2、設(shè)置的堆棧不夠大            3、選擇的型號(hào)不對(duì)(編寫(xiě)的程序是用在RAM較大的一個(gè)單片機(jī)

10、上的,IAR里選擇的卻是RAM較小的一個(gè)型號(hào))UESTC 2013.3.8 2Q: 燒寫(xiě)程序時(shí)無(wú)法跳入斷點(diǎn)為什么我每次燒程序都出現(xiàn):The stack plug-in failed to set a breakpoint on "main". The Stack window will not be able to display stack contents. (You can change this setting in the Tool>Options dialog box.)的警告。但是程序能燒進(jìn)去,只是不能調(diào)試。A:確認(rèn)設(shè)置沒(méi)有問(wèn)題(和好

11、用的工程相比)這是設(shè)置不對(duì),請(qǐng)找下面順序修改:iar->options->linker->output->format;選擇 Debug information for c-SPY選項(xiàng)  3Q: 錯(cuò)誤提示:Fatal ErrorCp001: Copy protecTIon check, No valid license found for this product 20 A:可以將IAR全部安裝上,但是在編譯文件時(shí)卻會(huì)報(bào)這個(gè)錯(cuò),原因是安裝的時(shí)候沒(méi)有把注冊(cè)機(jī)的0x.字串的小寫(xiě)字母改為大寫(xiě)字母。 4Q:“Errore16:

12、Segment CSTACK (size: 0x50 align: 0x1) is too long for segment definition. At least 0x50 more bytes needed. The problem occurred while processing the segment placement command "-Z(DATA)CSTACK+_STACK_SIZE#", ”A:此錯(cuò)誤是所定義的全局變量和數(shù)組緩沖區(qū)等所占的RAM超出硬件支持所致:size: 0x50為超出的大小。只要減少不不要的全局變量和盡量縮小數(shù)組緩沖區(qū)就可以了!&#

13、160;5Q: 7Q: ErrorPe018: expected a ")" C:Documents and SettingsAdministrator桌面CraneCrane塔吊防碰撞系統(tǒng)1.1版(SIM908 傾角查詢(xún))5438A塔吊防碰撞1.1api_function.h 5 1、函數(shù)或者語(yǔ)句中有變量名復(fù)用:#define length 50                

14、0;  / 吊臂長(zhǎng)度extern int dec_to_bcd(int dec_dat, unsigned char *bcd, int length);將以上的變量名之一換做別的即可解決。 UESTC 2012.3.27  Errore27:(變量沒(méi)有extern聲明外部可調(diào)用)  uestcErrore27: Entry "ER_WARN" in module AD () redefined in module FINGERPRINT ()解決方法是把變量定義在其中一個(gè)cpp文件里面,然后在另一個(gè)文件里面用extern來(lái)

15、引用。sample:文件一:int a=0;文件二:extern int a;  /此處不能使他等于某個(gè)數(shù)就可以了,如果此處a再賦值extern int a=0;就會(huì)報(bào)錯(cuò)e27 以為我在x.h文件中定義有變量,然后x.h放入 config.h中,config.h被其他的各個(gè).c文件包含,就造成了,x.h中的變量在各個(gè).c中定義,造成了重復(fù)定義。 UESTC 2012.3.27相關(guān)問(wèn)答:  14Q:Errore46:   Undefined external "_program_start" referred in

16、?ABS_ENTRY_MOD ( )A:該問(wèn)題應(yīng)該是IAR設(shè)置問(wèn)題,具體設(shè)置如下:Project->Option->Linker->Config 勾選"Override default program"再選擇"Defined by application"  B、 static  (const)變量是不能被外部文件調(diào)用的  ( ? )  C、只包含了.h文件, .c文件沒(méi)有添加進(jìn)工程 從debug切換到release出現(xiàn)錯(cuò)誤:release不會(huì)自動(dòng)繼承debug的設(shè)置

17、,需要自己重新設(shè)置:snprintf、fmax、fmin這些函數(shù)都能在IAR幫助中找到,但是卻出現(xiàn)下面錯(cuò)誤: Errore46: Undefined external "fmax" referred in cacu_protect ( C:Documents and SettingsAdministrator桌面塔吊安全監(jiān)控系統(tǒng)-終版塔吊安全監(jiān)控系統(tǒng)-終版ReleaseObjcacu_protect.r43 )Errore46: Undefined external "fmin" referred in cacu_protect ( C:Doc

18、uments and SettingsAdministrator桌面塔吊安全監(jiān)控系統(tǒng)-終版塔吊安全監(jiān)控系統(tǒng)-終版ReleaseObjcacu_protect.r43 )Errore46: Undefined external "snprintf" referred in gprs_8 ( C:Documents and SettingsAdministrator桌面塔吊安全監(jiān)控系統(tǒng)-終版塔吊安全監(jiān)控系統(tǒng)-終版ReleaseObjgprs_8.r43 )Error while running Linker錯(cuò)誤原因:鏈接庫(kù)的設(shè)置不對(duì):  ErrorPe077

19、:this declaration has no storage class or type specifier    不同的版本,就有不同的寫(xiě)法,就像環(huán)境不一樣,中斷函數(shù)的名字也不一樣,我遇到過(guò)這樣的情況(兩個(gè)不同版本下定時(shí)器初始化時(shí)寄存器的名稱(chēng)不同).   如I/O口中斷函數(shù)的名的兩種版本:  版本1:interruptPORT2_VECTOR void PORT2 (void)  版本2:#pragma vector=PORT1_VECTOR     

20、;   _interrupt void PORT1_ISR (void)2012.2.x UESTC8Q:ErrorPe136:     struct "<unnamed>" has no field "SampleApp_Periodic_DstAddr" D:Program FilesTexas InstrumentsZStack-1.4.3-1.2.1ProjectszstackSamplesSampleAppSourceSampleApp.c 417/-/afAddrType

21、_t dstAddr;dstAddr.addrMode = afAddrBroadcast;dstAddr.addr.shortAddr = 0xFFFF; / 廣播發(fā)送 cdwxldstAddr.endpoint = SAMPLEAPP_ENDPOINT; /error所在/-/A:我們看看afAddrType_t這個(gè)結(jié)構(gòu)就明白錯(cuò)在哪里了。typedef structunionuint16 shortAddr; addr;afAddrMode_taddrMode;byteendPoint; afAddrType_t;居然是 endPoint 大小寫(xiě)錯(cuò)誤, 。 9Q:我最開(kāi)始也是IA

22、R仿真時(shí)找不到main函數(shù),顯示:Fri Jun 11 14:37:00 2010: Error (col 1): Unknown or ambiguous symbol. mainFri Jun 11 14:37:01 2010: Error (col 1): Unknown or ambiguous symbol. mainFri Jun 11 14:37:01 2010: Couldn't go to 'main'.之后在project>options>linker里面的format設(shè)成debug,沒(méi)有這個(gè)問(wèn)題了,但是程序又不能通過(guò)TI的那個(gè)Flash

23、 Programmer下載到板子里了,說(shuō)是Could not open specified HEX fileA:這個(gè)燒錄工具只認(rèn)release code. 而且擴(kuò)展名必須是.hex。所以要用這個(gè)燒錄工具來(lái)燒錄必須做兩件事:1. output file設(shè)為release version2. output file 擴(kuò)展名改為.hex, 默認(rèn)的是.a51測(cè)試學(xué)習(xí)階段可以不用.但產(chǎn)品量產(chǎn)就必須生成二進(jìn)制文件.同時(shí)programmer還有些其它的功能會(huì)常用的 ErrorPe142: expression must have pointer-to-object type  

24、表達(dá)式兩邊的類(lèi)型不一樣。2012.2.x uestc例如: “編譯的錯(cuò)誤是指第一個(gè)*的后面應(yīng)該是指針,卻給了是非指針表達(dá)式。如果p是個(gè)指針,那么*(p+i)是p后面第i個(gè)域或單元的元素,這個(gè)域與p所指的變量類(lèi)型有關(guān),也就是說(shuō)'*(p+i)+j'是數(shù),而非指針。與*結(jié)合就錯(cuò)了。 ” C+的該錯(cuò)誤:ErrorPe148:variable "TA1R_OVERFLOW" has already been initialized "unsigned char TA1R_OVERFLOW=0; " 聲明可外部調(diào)用需要賦

25、值  ErrorPe159: declaration is incompatible with previous   沒(méi)加頭文件,或者主函數(shù)內(nèi)有子函數(shù),而子函數(shù)定義在主函數(shù)后邊而木有在主函數(shù)前聲明一下。 ErrorPe169: expected a declaration錯(cuò)誤原因可能性:1、void read_gprs_return();定義函數(shù)的時(shí)候,結(jié)尾多了一個(gè)分號(hào):;。 ErrorPe852:ErrorPe852:expression must be a pointer to a complete object type

26、0;請(qǐng)教關(guān)于結(jié)構(gòu)體數(shù)組的引用出錯(cuò)yanzhongwang2006-02-24, 14:30定義結(jié)構(gòu)體數(shù)組var.c:struct StructDisDataunsigned int AddrDisData;unsigned int TypeDisChar;unsigned int TypeDisUnit;unsigned char LengthDisData;const struct StructDisData StrDisData254=.;var.h:const extern struct StructDisData StrDisData254;在Lunxian.c中引用:#include

27、 "var.h"unsigned int vAdd;void Sub1(void)unsigned int disptr;disptr =.;vAdd =StrDisDatadisptr.AddrDisData; /編譯時(shí)在此處出錯(cuò) ErrorPe852: expression must be a pointer to a complete object type各位大蝦請(qǐng)幫我分析一下 謝謝!erlking2006-02-24, 14:41改成vAdd =StrDisDatadisptr>AddrDisData;試試?yanzhongwang2006-02-24, 1

28、4:58謝謝erking這么快的回復(fù)!我改了試了一下 還是一樣的錯(cuò)誤好像->是用指針?lè)绞秸{(diào)用才用到li_hai_tao9302006-02-24, 23:19聲明結(jié)構(gòu)體時(shí)用typedef 定義結(jié)構(gòu)類(lèi)型名試試iltgcl2006-02-27, 08:36將結(jié)構(gòu)定義struct StructDisDataunsigned int AddrDisData;unsigned int TypeDisChar;unsigned int TypeDisUnit;unsigned char LengthDisData;放到頭文件中,即.h文件中yanzhongwang2006-02-27, 10:59謝

29、謝樓上的各位!用iltgcl的方法試了一下 編譯沒(méi)問(wèn)題了!yanzhongwang2006-02-27, 11:22改正后的文件結(jié)構(gòu)如下var.c:var.h:struct StructDisDataunsigned int AddrDisData;unsigned int TypeDisChar;unsigned int TypeDisUnit;unsigned char LengthDisData;Lunxian.c:#include "var.h"unsigned int vAdd;const struct StructDisData StrDisData254=.;

30、void Sub1(void)unsigned int disptr;disptr =.;vAdd =StrDisDatadisptr.AddrDisData; 再次謝謝各位工程師的熱心指點(diǎn)!readyaiming2006-03-03, 15:23不錯(cuò)不錯(cuò)。ErrorPe260:    explicit type is missing ("int" assumed) C:Documents and SettingsAdministrator桌面下位機(jī)塔吊防碰撞系統(tǒng)1.1版(SIM908 傾角查詢(xún))5438A塔吊防碰撞1.1LCD(Sm

31、allFonts).c 898 問(wèn)題例子1:定義一個(gè)函數(shù),落了紅字部分聲明void DrawSector(int x,int y,int R1,int R2,float Ds ,float De,int fill,uchar color)      11Q:ErrorPe513:   a value of type "int (*)(uint8, uint8)" cannot be assigned to an entity of type "halUARTCBack_t"

32、D:Program FilesTexas InstrumentsZStack-1.4.3-1.2.1Componentsstacksapisapi.c 968A:估計(jì)是一個(gè)函數(shù)本沒(méi)有返回值即void類(lèi)型,而你卻將這個(gè)函數(shù)賦給了一個(gè)int型變量了。static rxCB( uint8 port,uint8 event )改為static void rxCB( uint8 port,uint8 event )12Q: Fatal Errore72: Segment BANK_RELAYS must be defined in a segment definition option (-Z

33、, -b or -P)A:使用無(wú)線(xiàn)龍的串口互發(fā),發(fā)現(xiàn)上述錯(cuò)誤,原因是版本太高,具體原因不清,下載一下7.20H就可以了 Fatal Errore89: Too much object code produced (more than 0x1000 bytes) for this package是4K限制版,請(qǐng)使用有非限制版的。  IAR常見(jiàn)錯(cuò)誤請(qǐng)先從如下幾方面入手:1序列號(hào)是否正確。2使用版本是否正確,應(yīng)該使用7.30B打開(kāi)的工程文件不能使用7.20H打開(kāi)。       3盡量不要使用中文路徑。 

34、;      4ZigBee協(xié)議棧文件夾需要放在IAR安裝盤(pán)根目錄下。       5請(qǐng)確定當(dāng)前編譯文件夾是否具有讀寫(xiě)權(quán)限。       6使用的版本是否是限制版   Fatal ErrorPe005: could not open source file "stdio.h" 這是什么原因?謝謝了是因?yàn)轭^文件路徑不對(duì)造成,改正的方法是在設(shè)置選項(xiàng)卡的C/C+ Compiler -

35、> Preprocessor選項(xiàng)里,將$TOOLKIT_DIR$INCCLIB添到Include paths中。($TOOLKIT_DIR$指IAR的安裝路徑,一般用到標(biāo)準(zhǔn)庫(kù)函數(shù)時(shí)要將它寫(xiě)入Include paths里面)  Fatal ErrorPe005: could not open source file "hal.h" C:UsersuserDesktop例子程序無(wú)線(xiàn)通信綜合測(cè)試Librarycc2430HALsourcesetTimer34Period.c 7先檢查 C:UsersuserDesktop例子程序無(wú)線(xiàn)通信綜合測(cè)試Libra

36、rycc2430HALsource有無(wú)setTimer34Period.c 這個(gè)文件,若有,則是因?yàn)镮AR對(duì)中文路徑支持不好的緣故,你把這個(gè)工程復(fù)制到全英文路徑下編譯應(yīng)該就不會(huì)報(bào)錯(cuò)了。Fatal ErrorPe1696: cannot open source file "config.h"注意config.h 存放的位置,最好與main同處于一個(gè)文件夾15Q:Fatal ErrorCp001:   Copy protection check, No valid license found for this product 24XP下裝的IAR,到了Win

37、7下出來(lái)的問(wèn)題。A:這個(gè)問(wèn)題是使用注冊(cè)機(jī)帶來(lái)的,系統(tǒng)換了,本機(jī)ID也要改了。、單擊IARID.EXE得到本機(jī)的ID號(hào)、右鍵點(diǎn)Key.cmd,選擇編輯,打開(kāi),將ID修改為本機(jī)ID、運(yùn)行KEY.cmd,在key.txt中的含有EW8051-EV的序列號(hào)就是7.30的序列號(hào)16Q:在用iar debug 下載進(jìn)已有程序板子出現(xiàn)的A:將核心板與擴(kuò)展板分開(kāi),只燒寫(xiě)核心板。 17Q:A:自小峰關(guān)于協(xié)議棧XDATA溢出的小結(jié)(1)減小程序;(2)把配置文件f8w2430.xcl/f8w2430pm.xcl中的-D_CODE_END改大點(diǎn):*f8w2430.xcl:/ CODE/ These set

38、tings determine the size/location of the ROOT segment./ Increase _CODE_END to increase ROOT memory, i.e. for constants.-D_CODE_START=0x0000 / Code size = 128k for CC2430-F128-D_CODE_END=0x4000 / Last address for ROOT bank*f8w2430pm.xcl:/ CODE/ These settings determine the size/location of the ROOT s

39、egment./ Increase _CODE_END to increase ROOT memory, i.e. for constants.-D_CODE_START=0x0000 / Code size = 128k for CC2430-F128-D_CODE_END=0x29FF /(原0x28FF) Last address for ROOT bank  WarningPe001: last line of file ends without a newline F:emoTionIARPK升級(jí)CC1110-8main.c 179A:在使用IAR時(shí)常常會(huì)彈出類(lèi)似

40、這樣一個(gè)警告,其實(shí)只要在最后一行多加一個(gè)回車(chē)就不會(huì)再有這個(gè)警告了.  6Q:在編寫(xiě)一個(gè)串口程序時(shí):編譯沒(méi)有錯(cuò),但MAKE時(shí)就出現(xiàn)下面的錯(cuò)誤undefined external“UART1_ISR”referred in startupA:串口1中斷向量沒(méi)有定義,實(shí)際上是串口1中斷向量定義其他名稱(chēng),而不是UART1_ISR. 出現(xiàn)這樣的調(diào)試IAR錯(cuò)誤時(shí):Fatal error: Unknown exception in driver (#E1),是因?yàn)镮AR軟件沒(méi)有跟Texas Instruments文件放在同一個(gè)系統(tǒng)盤(pán)下 Warninw6: &

41、#160;  Type conflict for external/entry "_A_PORTD", in module _ultrasonic against external/entry in module _ST7920; class/struct/union types have  different numbers of fields/bases

42、 你看看你的源代碼里函數(shù)是不是這樣寫(xiě):void XXX(void)而.h代碼里這樣聲明:void XXX();.h代碼應(yīng)該這樣聲明:void XXX(void); 分析:一般Warninw6:問(wèn)題出在頭文件里頭,可能有:1、聲明了外部變量,但是用到那個(gè)函數(shù)的.c文件沒(méi)有包含那個(gè)頭文件2、源代碼函數(shù)和.h里聲明的函數(shù)不一樣:.c里 void XXX(void),頭文件中:void XXX();或者:筆誤.hz中  Wight_warn (); .c中: Weight_warn();3、在.C中定義了,但是沒(méi)有exte

43、rn void clean_uart2_rx_buff();聲明外部可調(diào)用,然后外部調(diào)用了它,就有可能出現(xiàn)。 2012.3.26 UESTC WarningPe009: nested comment is not allowed    注釋最好不要嵌套例如注釋1后半部*/ 就是最好不要這樣     uestc  WarningPa082: undefined behavior: the order of volatile accesses is undefined

44、in this statement  運(yùn)算符兩邊都是volatile變量的警告 這警告有意義.volatile 意思是:易變的。用volatile修飾的變量一般不直接參與運(yùn)算(在運(yùn)算中值可能在變化),volatile就以為這個(gè)變量在運(yùn)算過(guò)程中有可能已經(jīng)改變了例如:想計(jì)算a * b 要這樣:volatile unsigned char a; volatile unsigned char b; unsigned char x,y; x = a;y = b; return (x * y);復(fù)制代碼建議使用另外一個(gè)變量參與計(jì)算:volatile char VVV = 9;

45、 char fun() char xxx; char yyy = 9; xxx = VVV; return xxx * yyy復(fù)制代碼 WarningPe175:  編譯錯(cuò)誤:WarningPe175: subscript out of range 原因: 定義了 float value6 ; 既我們定義的了 value0、 value1 value5,默認(rèn)從0開(kāi)始的,而實(shí)際中我們用到了value6,越界了。2011年 6月2日  WarningPe177:    function "rxCB" was

46、declared but never referenced D:Program FilesTexas InstrumentsZStack-1.4.3-1.2.1Componentsstacksapisapi.c 982A:函數(shù)雖定義但從未被引用(使用)。如果你需要使用該函數(shù),就需要檢查;否則略過(guò)。13Q:Fri Jun 11 14:37:00 2010: Error (col 1): Unknown or ambiguous symbol. mainFri Jun 11 14:37:01 2010: Error (col 1): Unknown or ambiguous symbol. mai

47、nFri Jun 11 14:37:01 2010: Couldn't go to 'main'.A:project>options>linker 看看里面的format是不是設(shè)成debug詳見(jiàn)  WarningPe186: pointless comparison of unsigned integer with zero 無(wú)符號(hào)整數(shù)不可能小于0的10Q:WarningPe188:     enumerated type mixed with another type D:Program

48、 FilesTexas InstrumentsZStack-1.4.3ProjectszstackSamplesSampleAppSourceSampleApp.c 206A: SampleApp_Periodic_DstAddr.addrMode = Addr16Bit;/(afAddrMode_t)afAddrGroup;typedef enumafAddrNotPresent = AddrNotPresent,afAddr16Bit = Addr16Bit,afAddrGroup = AddrGroup,afAddrBroadcast = AddrBroadcast afAddrMode

49、_t;問(wèn)題就在于Addr16Bit未加afAddrMode_t這個(gè)套子。 WarningPe1072: a declaration cannot have a label  在switch case:后直接定義變量了 switch (check_storce_status()    case 0:    break;  case 1:  int fash;   break; case 2:  break; 解決方法:前后加個(gè)括號(hào)即可。&

50、#160;switch (check_storce_status()    case 0:    break;  case 1:     int fash;   break;   case 2:  break;  UESTC 2012.3.19 Fatal ErrorPe1696:Fatal ErrorPe1696: cannot open source file "time.h" C:Documents

51、and SettingsAdministrator桌面塔吊安全監(jiān)控系統(tǒng)-終版塔吊安全監(jiān)控系統(tǒng)-終版config.h 53 searched: "C:Documents and SettingsAdministrator桌面塔吊安全監(jiān)控系統(tǒng)-終版塔吊安全監(jiān)控系統(tǒng)-終版"searched: "C:Program FilesIAR SystemsEmbedded Workbench 6.0 Evaluation_0430incclib"searched: "C:Program FilesIAR SystemsEmbedded Workben

52、ch 6.0 Evaluation_0430inc"Error while running C/C+ compiler 出錯(cuò)原因是編譯器在上面列出的路徑內(nèi)的文件夾下面找不到time.h 首先確定是不是真的存在這兩個(gè)頭文件(沒(méi)有就自行下載或者編寫(xiě)吧)。然后可以采取以下兩種解決方法:1、include時(shí)寫(xiě)上完整的路徑名。如:#include "D:headersmsp430x14x.h"2、在編譯器的默認(rèn)頭文件路徑中添加你自定義的頭文件存放路徑。一般是你所用的IDE的某項(xiàng)功能,這就看你用的是什么IDe了。3、將頭需要的頭文件復(fù)制到編譯器搜索的目錄(

53、一般debug能通過(guò),release通不過(guò)的時(shí)候多是這個(gè)原因):第一步:找頭文件所在的地方第二步:復(fù)制(另存為)到IAR 搜索的目錄:searched: "C:Program FilesIAR SystemsEmbedded Workbench 6.0 Evaluation_0430incclib" UESTC 2013.3.11 18.2 編譯警告消息下表列出了編譯警告消息編號(hào)警告消息建議0 Macro name redefined 宏 name被重新定義用#define 定義的符號(hào)被用不同的參數(shù)或形式表重新定義1 Macro formal parta

54、meter name isnever referenced 宏形式參數(shù) name被重新定義#define 形式參數(shù)從未在參數(shù)字符串中出現(xiàn)2 Macro name is already#undef 宏name被重新定義#undef 被用于不是宏觀(guān)的符號(hào)3 Macro name called with emptyparameter(s) 用空參數(shù)調(diào)用宏 name用零長(zhǎng)度(zero-length)的參數(shù)不清調(diào)用在#define 中定義的參數(shù)化宏觀(guān)4 Macro name is called recursively;not expanded 宏 name 被遞歸調(diào)用不擴(kuò)展遞歸宏調(diào)用使預(yù)處理器停止該宏的

55、進(jìn)一步擴(kuò)展5 Undefined symbol name in #if or#elif; assumed zero 在#if 或#elif中未定義的符號(hào) name;假設(shè)為零在#if 或#elif 表達(dá)式中把非宏符號(hào)作為零來(lái)處理被認(rèn)為是錯(cuò)誤的編程實(shí)踐使用以下兩個(gè)中任一個(gè)#ifdef symbol或#if defined(symbol)6 Unkown escape seguence c ;assumec 未知的轉(zhuǎn)義序列c 假設(shè)為c在字符常數(shù)中發(fā)現(xiàn)反斜杠 或字符文字后隨未知的轉(zhuǎn)義字符7 Nested comment found without usingthec option 發(fā)現(xiàn)嵌套的注釋未使用

56、c選項(xiàng)在注釋中發(fā)現(xiàn)字符序列無(wú)條件轉(zhuǎn)移或返回在一條或多條語(yǔ)名之前使得這條或多條語(yǔ)句從來(lái)不會(huì)被執(zhí)行21 Unreachable statement(s) atunreachable label name 在未卜先知被引用的標(biāo)號(hào)name處不能到達(dá)的語(yǔ)句例如Break;Here:I=2;無(wú)條件轉(zhuǎn)移或返回在有標(biāo)號(hào)的一條或多條語(yǔ)句之前但是標(biāo)號(hào)從未被引用所以這條或多余語(yǔ)句從來(lái)不會(huì)被執(zhí)行22 Non-void function: explicit “return”<expression> expected 非空函數(shù)顯式的 “return”<表達(dá)式> 被預(yù)期非空non-void 函數(shù)產(chǎn)生

57、隱含返回這可能是從循環(huán)或開(kāi)關(guān)語(yǔ)句中非預(yù)期的退出注意不帶default 的開(kāi)關(guān)語(yǔ)句總是被編譯器當(dāng)作可退出的而不管case 的結(jié)構(gòu)如何23 Undeclared function name; assumed“extern” “int” 未聲明的函數(shù)name;假設(shè)為“extern” “int”對(duì)未聲明函數(shù)的引用導(dǎo)致使用缺省的聲明函數(shù)被假設(shè)為具有K&R 類(lèi)型具有外部存儲(chǔ)類(lèi)別并返回int 整型24 Static memory option converts local“auto” or “register” to “static”(靜態(tài)存儲(chǔ)器選項(xiàng)把局部 “auto”或“register”轉(zhuǎn)換為

58、“static”)用于靜態(tài)存儲(chǔ)器分配的命令行選項(xiàng)使auto 自動(dòng)和register 寄存器聲明被當(dāng)作static 靜態(tài)來(lái)處理25 Inconsistent use of K&R functionvaryingnumber of parameters(K&R 函數(shù)的不一致使用-改變了參數(shù)的數(shù)目)用改變了的參數(shù)類(lèi)型調(diào)用K&R 函數(shù)26 Inconsistent use of K&R functionchangingtype of parameter K&R 函數(shù)用改變了的參數(shù)類(lèi)型調(diào)用K&R 函數(shù)MSP430 系列C 編譯器編程指南利爾達(dá)電子中國(guó)有限公司 TELFAX- 116 -的不一致使用改變了參數(shù)的類(lèi)型例如myfunc(34);myfunc(34.6);27 Size of “exte

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論