文档视界 最新最全的文档下载
当前位置:文档视界 › IAR 6 20编译错误

IAR 6 20编译错误

IAR 6 20编译错误
IAR 6 20编译错误

IAR 6.20编译错误清单

1、①错误描述:Tool Internal Error:

Internal Error: [CoreUtil/General]: Access violation (0xc0000005) at 007588A5 (reading from address 0x0)

Internal Error: [CoreUtil/General]: Access violation (0xc0000005) at 007588A5 (reading from address 0x0)

Error while running C/C++ Compiler

②错误原因:High配置设置为Size,应该为Low

2、①错误描述:Fatal Error[Pe1696]: cannot open source file "inc/hw_types.h" E:\StellarisWareM3_9D92\boards\dk-lm3s9b96\boot_demo2\boot_demo2.c 25

②错误原因:C/C++ Complier(Assember)->Preprocessor->Additional include directories:

$PROJ_DIR$\.

$PROJ_DIR$\..

$PROJ_DIR$\..\..\..

3、①错误描述:Fatal Error[Pe1696]: cannot open source file "lwip/opt.h"

E:\StellarisWareM3_9D92\utils\lwiplib.h 44

②错误原因:C/C++ Complier-(Assember)>Preprocessor->Additional include directories:

$PROJ_DIR$\..\..\..\third_party\lwip-1.3.2\apps

$PROJ_DIR$\..\..\..\third_party\bget

$PROJ_DIR$\..\..\..\third_party\lwip-1.3.2\ports\stellaris\include

$PROJ_DIR$\..\..\..\third_party\lwip-1.3.2\src\include

$PROJ_DIR$\..\..\..\third_party\lwip-1.3.2\src\include\ipv4

$PROJ_DIR$\..\..\..\third_party\lwip-1.3.2\src\include\lwip

$PROJ_DIR$\..\..\..\third_party

4、①错误描述:Fatal Error[Pe035]: #error directive: Unrecognized COMPILER! E:\StellarisWareM3_9D92\boards\dk-lm3s9b96\drivers\set_pinout.h 59

Error while running C/C++ Compiler

②错误原因:C/C++ Complier-(Assember)>Preprocessor->Defined symbols: ewarm

5、①错误描述:Error[Pe020]: identifier "ROM_pvAESTable" is undefined E:\StellarisWareM3_9D92\third_party\aes\aes.c 319

②错误原因:

6、①错误描述:Error[Li005]: no definition for "main" [referenced from cmain.o(rt7M_tl.a)]

Error while running Linker

②错误原因:定义函数:int main(void) { return (0); }

7、①错误描述:Error[Li005]: no definition for "main" [referenced from cmain.o(rt7M_tl.a)]

Error while running Linker

②错误原因:如果是库是库函数,在:General Options->Output->Output file:选择:

Library项

4、①错误描述:Fatal Error[Pe1696]: cannot open source file "uip.h" E:\StellarisWareM3_9D92\third_party\uip-1.0\apps\dhcpc\dhcpc.c 37

②错误原因:

5、①错误描述:

②错误原因:

$PROJ_DIR$\..\..\..\third_party\lwip-1.3.2\apps

$PROJ_DIR$\..\..\..\third_party\bget

$PROJ_DIR$\..\..\..\third_party\lwip-1.3.2\ports\stellaris\include

$PROJ_DIR$\..\..\..\third_party\lwip-1.3.2\src\include

$PROJ_DIR$\..\..\..\third_party\lwip-1.3.2\src\include\ipv4

$PROJ_DIR$\..\..\..\third_party

$PROJ_DIR$\..\..\..\third_party\uip-1.0

$PROJ_DIR$\..\..\..\third_party\uip-1.0\uip

$PROJ_DIR$\..\..\..\third_party\uip-1.0\apps

$PROJ_DIR$\..\..\..\third_party\\speex-1.2rc1\include

$PROJ_DIR$\..\..\..\third_party\\speex-1.2rc1\include\speex

$PROJ_DIR$\..\..\..\third_party\\speex-1.2rc1\stellaris

6、①错误描述:Fatal Error[Pe035]: #error directive: You now need to define either FIXED_POINT or FLOATING_POINT E:\StellarisWareM3_9D92\third_party\speex-1.2rc1\libspeex\arch.h 65

②错误原因:

7、①错误描述:Fatal Error[Pe035]: #error directive: "Unrecognized/undefined driver for DISK0!" E:\StellarisWareM3_9D92\third_party\fatfs\port\dual-disk-driver.c 62

Error while running C/C++ Compiler

②错误原因:

UART_BUFFERED

DISK0_DK_LM3S9B96

DISK1_USB_MSC

INCLUDE_BGET_STATS

8、①错误描述:Error[Pe020]: identifier "ROM_pvAESTable" is undefined E:\SWM3_9D92(6.20)\third_party\aes\aes.c 359

Error while running C/C++ Compiler

②错误原因:

10、①错误描述:Fatal Error[Pe035]: #error directive: You now need to define either FIXED_POINT or FLOATING_POINT E:\SWM3_9D92(6.20)\third_party\speex-1.2rc1\libspeex\arch.h 65

Error while running C/C++ Compiler

②错误原因:

11、①错误描述:

Error[Li005]: no definition for "ROM_SysCtlClockSet" [referenced from E:\SWM3_9D92(6.20)\boards\dk-lm3s9b96\safertos_demo\Debug\Obj\safertos_demo.o] Error[Li005]: no definition for "ROM_FlashUserGet" [referenced from E:\SWM3_9D92(6.20)\boards\dk-lm3s9b96\safertos_demo\Debug\Obj\lwip_task.o] Error[Li005]: no definition for "ROM_IntPrioritySet" [referenced from E:\SWM3_9D92(6.20)\boards\dk-lm3s9b96\safertos_demo\Debug\Obj\lwip_task.o] Error[Li005]: no definition for "ROM_GPIOPinTypeGPIOOutput" [referenced from E:\SWM3_9D92(6.20)\boards\dk-lm3s9b96\safertos_demo\Debug\Obj\led_task.o]

Error[Li005]: no definition for "ROM_GPIOPinWrite" [referenced from E:\SWM3_9D92(6.20)\boards\dk-lm3s9b96\safertos_demo\Debug\Obj\led_task.o]

Error[Lp011]: section placement failed: unable to allocate space for sections/blocks with a total estimated minimum size of 0x11e54 bytes in

<[0x20000000-0x2000ffff]> (total uncommitted space 0x10000).

Error while running Linker

②错误原因:

12、①错误描述:

Error[Lp011]: section placement failed: unable to allocate space for sections/blocks with a total estimated minimum size of 0x11e54 bytes in <[0x20000000-0x2000ffff]> (total uncommitted space 0x10000).

Error while running Linker

c语言编译常见错误列表

1."c" not an argument in function sum 该标识符不是函数的参数 2.array bounds missing ] in function main 缺少数组界限符"]" 3.Array size too large in function main 数组规模太大 4.bad file name format in include directive 在包含指令中的文件名格式不正确. 5.Call of non-function in function main 调用未经过定义的函数. 6.cannot modify a const object in function main 对常量不能进行修改. 7.character constant too long in function main 字符常量太大 8.constant expression required in funtion main 数组定义的时候,数组大小要求是常数 https://www.docsj.com/doc/b210082048.html,pound statment missing } in function main 复合语句漏掉符号"{" 10.declaration syntax error in function main 宣告语法错误 11.expression syntax in function main 表达式语法错误 12. extra parameter in call to sum in function 调用函数时使用了过多的参数 13.illegal use of floating point in function main 浮点数的不合法使用 14.illegal pionter subtraction in function main 不合法的指针相减 15.invalid pointer addition in function main 无效的指针相加 16.out of memory in function main 内存不足 17.statement missing ; in function main 语句后面漏掉分号. 警告报错

C语言调试常见错误及修改方法(附习题)

1.调试 C 程序时常见的错误类型分析 一般情况下,错误主要分为两大类:一、语法错误。对于这种错误,用编译器很容易解决。所以,改错题的第一步是先编译,解决这类语法错误。下面总结了二级C 语言上机改错题中常见的语法错误: (1) 丢失分号,或分号误写成逗号。 (2) 关键字拼写错误,如本来小写变成大写。 (3) 语句格式错误,例如for 语句中多写或者少写分号。 (4) 表达式声明错误,例如:少了() (5) 函数类型说明错误。与main ()函数中不一致。 (6) 函数形参类型声明错误。例如:少* 等。 (7) 运算符书写错误,例如:/ 写成了。二、逻辑错误,或者叫语义错误,这和实现程序功能紧密相关,一般不能用编译器发现。对于逻辑错误可以按这样的步骤进行查找。 (1) 先读试题,看清题目的功能要求。 (2) 通读程序,看懂程序中算法的实现方法。 (3) 细看程序,发现常见错误点。 2.改错题的改错方式总结,当然这些总结只能对大部分改错行有效 1、若错误行是函数首部,可分为以下几种情况: A、该行最后若有分号则删除,中间若有分号则改成逗号 B、形参类型不一致的问题,特别是指针类型,若后面用到某形参时有指针运算则该形参必为指针类型;若形参是二维数组或指向m 个元素的指针变量,则第二维的长度必须与main 中对应数组的第二维长度相同 C、函数类型不一致的问题,若函数中没有return语句则函数类型为void,若有return语句则函数的类型必须与return 后变量的类型一致。 2、若错误行是if 或while 语句,则首先看有没有用小括号将整个表达式括起,若没有则加上小括号。 3、若错误行中有if、while 、for 则要特别注意条件表达式的错误问题: A、指针变量的应用,若表达式中有指针变量且没有指针运算符,则加上指针运算符 B、若条件表达式中只有一个等于号,则改成两个等于号,若为其它比较运算符则一般是进行逆转或加一个等于号 C、f or 中要用分号分隔表达式,而不是用逗号 4、语法错误 A、语句缺少分号,若错误行中有语句没有用分号结束,则加上分号。 B、大小写不对,若错误行中有大写字母则一般都改成小写字母。 5、指针变量的运用,若错误行中有指针变量,并且该变量名前没有指针运算符则一般都是加上指针运算符 6、若错误行为return 语句,则首先看是否是缺少分号若是则加上分号即可;否则就是return 后的变量或表达式错误(此时可通过看题意,来分析该返回哪一变量或表达式)

C语言编译中的常见错误

C语言编译中的常见错误 1、警告类错误 ?‘XXX’declare but never used变量XXX已定义但从未用过。 ?‘XXX’is assigned a value which is never used变量XXX已赋值但从未用过。?Code has no effect 程序中含有没有实际作用的代码。 ? Non-portable pointer conversion不适当的指针转换,可能是在应该使用指针的 地方用了一个非0的数值。 ?Possib le use of ‘XXX’before definition表达式中使用了未赋值的变量 ?Possibly incorrect assignment这样的赋值可能不正确 ?Redeclaration of ‘main’一个程序文件中主函数main不止一个。 ?Suspicious pointer conversion可疑的指针转换。通常是使用了基本类型不匹配的指针。 ?Unreachable code程序含有不能执行到的代码。 2、错误或致命错误 ?Compound statement missing } in function main程序结尾缺少括号}。 ?“}”expected;“(”expected等复合语句或数组初始化的结尾缺少“)”;“(”。 ? Case outside of switch case不属于Switch结构,多由于switch结构中的花括 号不配对所致。 ?Case statement missing ‘:’ switch结构中的某个case之后缺少冒号。 ? Constant expression required定义数组时指定的数组长度不是常量表达式。 ? Declaration syntax error 结构体或联合类型的定义后缺少分号。 ? Declaration was expected 缺少说明,通常是因为缺少分界符如逗号、分号、右圆 括号等所引起的。 ?Default outside switch Default部分放到了switch结构之外,一般是因为花括号 不匹配而引起的。 ?do statement must have while do语句中缺少相应的while部分。 ? Expression syntax 表达式语法错。如表达式中含有两个连续的运算符

Keil C 编译器常见警告与错误信息

https://www.docsj.com/doc/b210082048.html,/support/man/docs/c51/c51_c277.htm错误信息查询 Keil C 编译器常见警告与错误信息 error C132 :“****”not in formal parameter list 花了偶将近半个小时来查找错误,最终发现原来是在头文件里的一个函数声明时露了一个分号造成紧挨着在它下面声明的参数not in formal parameter list。 记在在这里,免得以后忘记了,同时也供大家分享。 下面是另外一些常见的错误提示: 1.第一种错误信息 ***WARNING L15: MULTIPLE CALL TO SEGMENT SEGMENT: ?PR?_WRITE_GMVLX1_REG?D_GMVLX1 CALLER1: ?PR?VSYNC_INTERRUPT?MAIN CALLER2: ?C_C51STARTUP ***WARNING L15: MULTIPLE CALL TO SEGMENT SEGMENT: ?PR?_SPI_SEND_WORD?D_SPI CALLER1: ?PR?VSYNC_INTERRUPT?MAIN CALLER2: ?C_C51STARTUP ***WARNING L15: MULTIPLE CALL TO SEGMENT SEGMENT: ?PR?SPI_RECEIVE_WORD?D_SPI CALLER1: ?PR?VSYNC_INTERRUPT?MAIN CALLER2: ?C_C51STARTUP - 该警告表示连接器发现有一个函数可能会被主函数和一个中断服务程序(或者调用中断服务程序的函数)同时调用,

编译出错种类

VC++编译的常见错误 1、fatal error C1010: unexpected end of file while looking for precompiled header directive。 寻找预编译头文件路径时遇到了不该遇到的文件尾。(一般是没有#include "stdafx.h") 2、fatal error C1083: Cannot open include file: 'R…….h': No such file or directory 不能打开包含文件“R…….h”:没有这样的文件或目录。 3、error C2011: 'C……': 'class' type redefinition 类“C……”重定义。 4、error C2018: unknown character '0xa3' 不认识的字符'0xa3'。(一般是汉字或中文标点符号) 5、error C2057: expected constant expression 希望是常量表达式。(一般出现在switch语句的case分支中) 6、error C2065: 'IDD_MYDIALOG' : undeclared identifier “IDD_MYDIALOG”:未声明过的标识符。 7、error C2082: redefinition of formal parameter 'bReset' 函数参数“bReset”在函数体中重定义。 8、error C2143: syntax error: missing ':' before '{' 句法错误:“{”前缺少“;”。 9、error C2146: syntax error : missing ';' before identifier 'dc' 句法错误:在“dc”前丢了“;”。 10、error C2196: case value '69' already used 值69已经用过。(一般出现在switch语句的case分支中) 11、error C2509: 'OnTimer' : member function not declared in 'CHelloView' 成员函数“OnTimer”没有在“CHelloView”中声明。 12、error C2511: 'reset': overloaded member function 'void (int)' not found in 'B' 重载的函数“void reset(int)”在类“B”中找不到。 13、error C2555: 'B::f1': overriding virtual function differs from 'A::f1' only by return type or calling convention 类B对类A中同名函数f1的重载仅根据返回值或调用约定上的区别。 14、error C2660: 'SetTimer' : function does not take 2 parameters “SetTimer”函数不传递2个参数。 15、warning C4035: 'f……': no return value “f……”的return语句没有返回值。 16、warning C4553: '= =' : operator has no effect; did you intend '='? 没有效果的运算符“= =”;是否改为“=”? 17、warning C4700: local variable 'bReset' used without having been initialized 局部变量“bReset”没有初始化就使用。

Android系统编译过程中常见问题汇总(2)

android源码编译常见问题 分类:android中级2013-03-09 16:20 397人阅读评论(2) 收藏举报编译过程: (在Ubuntu 11.04 64位机器上编译) 1. source build/envsetup.sh //初始化与环境envsetup.sh脚本 初始化完成,显示如下 including device/samsung/maguro/vendorsetup.sh including device/samsung/tuna/vendorsetup.sh including device/ti/panda/vendorsetup.sh including sdk/bash_completion/adb.bash 2. lunch full-eng //选择的目标 ============================================ PLATFORM_VERSION_CODENAME=REL PLATFORM_VERSION=4.0.1 TARGET_PRODUCT=full TARGET_BUILD_VARIANT=eng TARGET_BUILD_TYPE=release TARGET_BUILD_APPS= TARGET_ARCH=arm TARGET_ARCH_VARIANT=armv7-a HOST_ARCH=x86 HOST_OS=linux HOST_BUILD_TYPE=release BUILD_ID=ITL41D ============================================ //建立与一切使。GNU的make -JN参数可以并行处理任务,它是共同使用的任务数, //N的1倍和2倍之间是被用于建立计算机硬件线程数量。例如在E5520双机(2个CPU, //每个CPU 4核,每核心2线程),最快的构建与命令之间的J16和 -J32。 3. make -j4 编译完成

编译时的常见错误

一、编译时的常见错误 1. 数据类型错误。此类错误是初学者编程时的常见现象, 下面是一些要引起注意的错误: (1) 所有变量和常量必须要加以说明。 (2) 变量只能赋给相同类型的数据。 (3) 对scanf()语句, 用户可能输入错误类型的数据项, 这将导致运行时出错, 并报出错信息。为避免这样的错误出现, 你就提示用户输入正确类型的数据。 (4) 在执行算术运算时要注意: a. 根据语法规则书写双精度数字。要写0.5, 而不是写.5; 要写1.0, 而不是1。尽管C语言会自动地把整型转换成双精度型, 但书写双精度型是个好习惯。让C语言为你做强行转换这是一种效率不高的程序设计风格。这有可能导致转换产生错误。 b. 不要用0除。这是一个灾难性的错误, 它会导致程序失败, 不管C 语言的什么版本, 都是如此, 执行除法运算要特别小心。 c. 确保所有的双精度数(包括那些程序输入用的双精度数) 是在实数范围之内。 d. 所有整数必须在整数允许的范围内。这适用于所有计算结果, 包括中间结果。 2. 将函数后面的";"忘掉。此时错误提示色棒将停在该语句下的一行, 并显示: Statement missing ; in function <函数名> 3. 给宏指令如#include, #define等语句尾加了";"号。 4. "{"和"}"、"("和")"、"/*"和"*/"不匹配。引时色棒将位于错误所在的行, 并提示出有关丢掉括号的信息。 5. 没有用#include指令说明头文件, 错误信息提示有关该函数所使用的参数未定义。 6. 使用了Turbo C保留关键字作为标识符, 此时将提示定义了太多数据类型。 7. 将定义变量语句放在了执行语句后面。此时会提示语法错误。 8. 使用了未定义的变量, 此时屏幕显示: Undefined symbol '<变量名>' in function <函数名> 9. 警告错误太多。忽略这些警告错误并不影响程序的执行和结果。编译时当警告错误数目大于某一规定值时(缺省为100)便退出编译器, 这时应改变集成开发环境Options/Compiler/Errors中的有关警告错误检查开关为off。 10. 将关系符"=="误用作赋值号"="。此时屏幕显示: Lvalue required in function <函数名> 二、连接时的常见错误 1. 将Turbo C库函数名写错。这种情况下在连接时将会认为此函数是用户自定义函数。此时屏幕显示: Undefined symbol '<函数名>' in <程序名> 2. 多个文件连接时, 没有在"Project/Project name中指定项目文件(.PRJ文件), 此时出现找不到函数的错误。 3. 子函数在说明和定义时类型不一致。 4. 程序调用的子函数没有定义。 三、运行时的常见错误 1. 路径名错误。在MS-DOS中, 斜杠(\)表示一个目录名; 而在Turbo C 中斜杠是个某个字符串的一个转义字符, 这样, 在用Turbo C 字符串给出一个路径名时应考虑"\"的转义的作用。例如, 有这样一条语句: file=fopen("c:\new\tbc.dat", "rb"); 目的是打开C盘中NEW目录中的TBC.DAT文件, 但做不到。这里"\"后面紧接的分别是"n"及"t", "\n"及"\t"将被分别编译为换行及tab字符, DOS将认为它是不正确的文件名而拒绝接受, 因为文件名中不能和换行或tab字符。正确的写法应为: file=fopen("c:\\new\\tbc.dat", "rb"); 2. 格式化输入输出时, 规定的类型与变量本身的类型不一致。例如: float l;

Keil编译常见问题

Error: L6200E Error: L6200E: Symbol temp multiply defined (by wenshidu.o and main.o).在编译的时候出现了这个问题,但是检查不出来,希望各位大侠帮帮忙 什么变量你给付了两次值 你看看是不是那个外部变量你又给赋值了 main.c申明,其他.c文件对应的.h文件中用extern引用 error: #20 error: #20: identifier "TIM2_IRQChannel" is undefined 谁能说说,哪里错了 你的固件库里的库文件没有添加进工程里面,所以出现未定义的情况。 TIM2_IRQChannel指定时器2的中断通道没有定义,其实在固件库对这些参数都有定义,宏定义代替了一串寄存器地址数据。需要将.C文件添加到工程文件中 warning: #1-D main.c(7): warning: #1-D: last line of file ends without a newline 当使用keil编译时,弹出这样的警告信息:main.c(7): warning: #1-D: last line of file ends without a newline 这个是由于在main函数的“}”后,没有加回车。 只要在main函数的“}”后加回车键,此警告信息即可消除。 error:#65 ...test_menu.c(27):error:#65:expected a ";" 分数送你了,问题在你回答之前已经解决了,头文件里的结构体定义里的最后一行没有加";" 如NB menu{..};

JAVA常见编译错误信息及说明

Java编译错误信息及说明 1、java:33:不是语句 解释:程序中出现了没有任何意义的字符(串),可能是无意中打出了没有任何意义的字符; 2、java:34:需要';' 解释:某条语句没有以分号结束; 3、java:36:缺少返回语句 解释:带返回值的函数缺少return语句; 4、java:33:不兼容的类型 解释:运算符两边的数据类型不一致或者不能做隐式转换; 5、java:36:无法访问的语句 解释:此语句永远不可能被执行,可能是此语句之前存在类似于while(true)的语句,导致此语句永远不可能被执行; 6、java:34:非法的表达式开始 解释:有不符合语法规范的表达式出现; 7、java:34:找不到符号 解释:使用了没有定义或没有引入的变量; 8、java:33:非法字符:\65307 解释:在中文输入状态下输入了一些标点符号; 9、java:18:不可转换的类型 解释:运算符两边的数据类型不一致或者不能做隐式转换; 10、java:19:"else"不带有"if" 解释:编译器找到else语句但是没有找到与之对应的if语句,可能是由于大括号没有成对出现;

11、java:12:可能损失精度 解释:把高精确度类型的数据赋值给低精确度类型的变量; 12、java:17:需要')' 解释:括号没有成对出现; 13、java:8:可能尚未初始化变量s 解释:局部变量s没有赋初值; 14、java:7:不可比较的类型:int和Boolean 解释:运算符两边操作数的数据类型不符合运算符的使用规范; 15、java:6:已在isLeap(int)中定义year 解释:变量year被重复定义; 16、java:21:字符字面值的行结尾不合法 解释:程序语句的结尾不是java规定的结束符号,而是其他的符号; 17、java:9:需要<标识符> 解释:可能是由于用户指定了数据类型,但未指定该类型的变量名; 18、java:8:无法从静态上下文中引用非静态变量this 解释:在静态方法中使用了非静态变量this; 19、java:12:在switch或loop外部中断 解释:在非循环语句或非switch语句中使用了中断循环功能的语句break; 20、java:21:对于结果类型为void的方法,无法返回值 解释:空返回值方法中出现了return语句; 21、java:12:需要数组,但找到int 解释:在应该出现数组的地方没有找到数组类型的变量,而是找到int类型的变量; 22、java:13:无法将Node中的setData(int)应用于()

常见的编译错误信息

1、fatal error C1010: unexpected end of file while looking for precompiled header directive。 寻找预编译头文件路径时遇到了不该遇到的文件尾。 解决方法: 其一,包含正确路径的#include "stdafx.h"; 其二,在*.cpp文件的Setting里面设置,C++选项中的分类precompiled header,选择不包含头文件即可。 2、fatal error C1083: Cannot open include file: 'R…….h': No such file or directory 不能打开包含文件“R…….h”:没有这样的文件或目录。 3、error C2011: 'C……': 'class' type redefinition 类“C……”重定义。 4、error C2018: unknown character '0xa3' 不认识的字符'0xa3'。(一般是汉字或中文标点符号) 5、error C2057: expected constant expression

希望是常量表达式。(一般出现在switch语句的case分支中) 6、error C2065: 'IDD_MYDIALOG' : undeclared identifier “IDD_MYDIALOG”:未声明过的标识符。 7、error C2082: redefinition of formal parameter 'bReset' 函数参数“bReset”在函数体中重定义。 8、error C2143: syntax error: missing ':' before '{' 句法错误:“{”前缺少“;”。 9、error C2146: syntax error : missing ';' before identifier 'dc' 句法错误:在“dc”前丢了“;”。 10、error C2196: case value '69' already used 值69已经用过。(一般出现在switch语句的case分支中) 11、error C2509: 'OnTimer' : member function not declared in 'CHello View' 成员函数“OnTimer”没有在“CHelloView”中声明。

ccs33中建立-编译-调试工程及常见错误讲解

Part1:ccs3.3中新建一个DM6437的示例工程 1、连接好板子,将板子上仿真器的usb口插到电脑上,启动ccs后,ccs会去获取板子信息并在打开的文件目录中自动生成一个文件,如图所示:笔者使用的是6437的板子 2、用file-new选择建立一个dsp/bios文件 在打开的对话框中选择你使用的板子的型号,如下图: 3、这个时候ccs为我们建立了一个bios文件,以图表显示,里面按照所选板子的类型添加相应的硬件和其他模块。保存这个文件到工程目录下先,文件类型为tcf。 4、保存这个文件的同时,ccs按照bios中的配置在当前目录下自动生成了一个cmd文件。此时将tcf文件和这个cmd文件同时添加到工程中,使用 5、然后需要修改一个编译选项,点击下图所示选项进去:

6、打开后在编译选项对话框总会看到一个命令行,其中最后一句是-mv6400,因为用的是6467的板子,所以这个选项要修改成 -mv64+;否则编译会报错:编译选项不正确;但并非所有类型的板子都要改,这个只针对型号为64+的板子。 7、file-new-source file建立一个c源文件,保存并加入到工程中。 以下是示例程序: #include #include #include Int main(Int argc, String argv[])//main函数的类型必须这样写 { unsigned int i; unsigned int sum=0; for(i = 0; i<=100; i++ ) {

sum += i; } printf("the sum = %d .\n",sum); printf("the program run over!\n"); printf("the program run over!\n");} 注意:1)如果想要printf正确输出信息,需要添加对应平台的rts64plus.lib文件。这里是64+平台所以是在C:\CCStudio_v3.3\C6000\cgtools\lib目录下的rts64plus.lib文件,否则ccs会提示如下警告和错误: >> warning: entry point symbol _c_int00 undefined undefined first referenced symbol in file --------- ---------------- _printf E:\\WorkContent\\projectExample\\Test\\Debug\\test.obj >> error: symbol referencing errors - './Debug/Test.out' not built 2)如果想要printf正确输出信息,cmd文件中必须指定heap的大小,即cmd文件这样 写: -c -stack 0x00001000 /* Stack Size */ -heap 0x00001000 /* Heap Size */ //前面这三项必不可少 MEMORY { L2RAM: o = 0x10800000 l = 0x00020000 DDR2: o = 0x80000000 l = 0x10000000 } SECTIONS { .bss > L2RAM .cinit > L2RAM .cio > L2RAM .const > L2RAM .data > L2RAM .far > L2RAM .stack > L2RAM .switch > L2RAM .sysmem > L2RAM .text > L2RAM .ddr2 > DDR2

C++程序编译中常见错误

C++课程上机实验常见错误汇集 1.在源码中遗失“;” 调试器错误信息:syntax error : missing ';' 2.缺少命名空间使用定义:即缺少“using namespace std;” 调试器错误信息:例:error C2065: 'cout' : undeclared identifier 例如cout/cin/endl/<>等在命名空间中定义的符号和标示符无法使用。 3.变量未定义就直接使用 调试器错误信息:例:error C2065: 'i' : undeclared identifier C++语言中,变量的使用必需遵循先声明定义,后使用的原则。 4.在程序中使用中文标示符,如将英文”;”错误输入成了”;” 调试器错误信息:error C2018: unknown character '0xa3' 在C++中,除程序注释可以采用中文外,其余字符要求使用英文。不少同学在建立工程或程序名称时也使用中文名称,建议改掉这种习惯。 5.在使用输入输出流的时候错误使用了标示符“>>”“<<”,例cout>>a; 调试器错误信息:例:error C2676: binary '>>' : 'class std::basic_ostream >' does not define this operator or a conversion to a type acceptable to the predefined operator 对于流操作的方向搞错是一个普遍错误,问题本来并不复杂,可能是由于没有认真看书的原因。 6.定义的变量类型与使用不对应,如声明为float,但实际给与了一个double的值,例: float pi=3.412345245656245; 调试器错误信息:warning C4305: 'initializing' : truncation from 'const double' to 'float' 7.变量在赋值之前就使用,例:int a, b, c; c=a+b; cin>>a>>b;

编程时Keil中常见的错误

C51编译器识别错类型有三种: 1、致命错误:伪指令控制行有错,访问不存在的原文件或头文件等。 2、语法及语义错误:语法和语义错误都发生在原文件中。有这类错误时,给出提示但不产生目标文件,错误超过一定数量才终止编译。 3、警告:警告出现并不影响目标文件的产生,但执行时有可能发生问题。程序员应斟酌处理。 1、致命错误 C_51 FATAL_ERROR ACTION: <当前行为> LINE: <错误所在行> ERROR: <错误信息> terminated 或C_51 FATAL ERROR ACTION: <当前行为> FILE: <错误所在文件> ERROR: <错误信息> terminated C_51 TERMINATED C_51 (1) ACTION 的有关信息 *PARSING INVOKE-/#PRAGMA_LINE 在对#pragma 指明的控制行作此法分析时出错。 *ALLOCATING MEMORY 系统分配存储空间时出错。编译较大程序需要512k空间。 *OPENING INPUT_FILE 打开文件时,未找到或打不开源文件/头文件。 *CREATE LIST_FILE/OBJECT_FILE/WORK_FILE 不能创建上述文件。可能磁盘满或文件已存在而且写保护。 *PARSING SOURCE_FILE/ANALYZING DECLARATIONS 分析源程序时发现外部引用名太多。 *GENERATING INTERMEDIATE CODE 源代码被翻译成内部伪代码,错误可能来源于函数太大而超过内部极限。 *WRITING TO FILE 在向文件(work,list,prelist或object file)写时发生错误。 (2)ERROR的有关信息 *MEMORY SPACE EXHAUSTED 所有可用系统空间耗尽。至少需要512k 字节空间。没有足够空间,用户必须检查常驻内存 的驱动程序是否太多。 *FILE DOES NOT EXIST FILE 行定的文本文件名未发现。

C语言编译、运行时常见错误

Turbo C编译、连接和运行时的常见错误&C语言编程风格 一、编译时的常见错误 1. 数据类型错误。此类错误是初学者编程时的常见现象, 下面是一些要引 起注意的错误: (1) 所有变量和常量必须要加以说明。 (2) 变量只能赋给相同类型的数据。 (3) 对scanf()语句, 用户可能输入错误类型的数据项, 这将导致运行时出 错, 并报出错信息。为避免这样的错误出现, 你就提示用户输入正确类型的数据。 (4) 在执行算术运算时要注意: a. 根据语法规则书写双精度数字。要写0.5, 而不是写.5; 要写1.0, 而不是1。尽管C语言会自动地把整型转换成双精度型, 但书写双精 度型是个好习惯。让C语言为你做强行转换这是一种效率不高的程序 设计风格。这有可能导致转换产生错误。 b. 不要用0除。这是一个灾难性的错误, 它会导致程序失败, 不管C 语言的什么版本, 都是如此, 执行除法运算要特别小心。 c. 确保所有的双精度数(包括那些程序输入用的双精度数) 是在实数 范围之内。 d. 所有整数必须在整数允许的范围内。这适用于所有计算结果, 包 括中间结果。 2. 将函数后面的";"忘掉。此时错误提示色棒将停在该语句下的一行, 并显 示: Statement missing ; in function <函数名> 3. 给宏指令如#include, #define等语句尾加了";"号。 4. "{"和"}"、"("和")"、"/*"和"*/"不匹配。引时色棒将位于错误所在的 行, 并提示出有关丢掉括号的信息。 5. 没有用#include指令说明头文件, 错误信息提示有关该函数所使用的参 数未定义。 6. 使用了Turbo C保留关键字作为标识符, 此时将提示定义了太多数据类型。 7. 将定义变量语句放在了执行语句后面。此时会提示语法错误。 8. 使用了未定义的变量, 此时屏幕显示: Undefined symbol '<变量名>' in function <函数名> 9. 警告错误太多。忽略这些警告错误并不影响程序的执行和结果。编译时 当警告错误数目大于某一规定值时(缺省为100)便退出编译器, 这时应改变集成 开发环境Options/Compiler/Errors中的有关警告错误检查开关为off。

keilc编译常见错误

.error: #18: 6.error: #18: expected a ")" 如果是出现在c文件中, 多半是因为少了一个")",或者错误行有编译器不识别的字符 如果出现在头文件中,错误行又是一个函数声明,多半是因为在函数声明中有编译器不认识的字符 error: #20 error: #20: identifier "TIM2_IRQChannel" is undefined 谁能说说,哪里错了 你的固件库里的库文件没有添加进工程里面,所以出现未定义的情况。 TIM2_IRQChannel指定时器2的中断通道没有定义,其实在固件库对这些参数都有定义,宏定义代替了一串寄存器地址数据。需要将.C文件添加到工程文件中 warning: #1-D main.c(7): warning: #1-D: last line of file ends without a newline 当使用keil编译时,弹出这样的警告信息:main.c(7): warning: #1-D: last line of file ends without a newline 这个是由于在main函数的“}”后,没有加回车。 只要在main函数的“}”后加回车键,此警告信息即可消除。 error:#65 ...test_menu.c(27):error:#65:expected a ";" 分数送你了,问题在你回答之前已经解决了,头文件里的结构体定义里的最后一行没有加";" 如NB menu{..}; Error: L6200E Error: L6200E: Symbol temp multiply defined (by wenshidu.o and main.o).在编译的时候出现了这个问题,但是检查不出来,希望各位大侠帮帮忙 什么变量你给付了两次值 你看看是不是那个外部变量你又给赋值了 main.c申明,其他.c文件对应的.h文件中用extern引用 warning: #223-D ..\..\source\CCxx00_New.C(718): warning: #223-D: function "_NOP_" declared implicitly 在使用的文件中添加extern void _NOP_();既可 warning: #1295-D ..\..\include\CCxx00_New.h(20): warning: #1295-D: Deprecated declaration CC_XCal - give arg types 没有用形参定时时用void CC_XCal(void);即可

常见编译错误

fatal error C1003: error count exceeds number; stopping compilation 中文对照:(编译错误)错误太多,停止编译 分析:修改之前的错误,再次编译 fatal error C1004: unexpected end of file found 中文对照:(编译错误)文件未结束 分析:一个函数或者一个结构定义缺少“}”、或者在一个函数调用或表达式中括号没有配对出现、或者注释符“/*…*/”不完整等fatal error C1083: Cannot open include file: 'xxx': No such file or directory 中文对照:(编译错误)无法打开头文件xxx:没有这个文件或路径 分析:头文件不存在、或者头文件拼写错误、或者文件为只读 fatal error C1903: unable to recover from previous error(s); stopping compilation 中文对照:(编译错误)无法从之前的错误中恢复,停止编译

分析:引起错误的原因很多,建议先修改之前的错误 error C2001: newline in constant 中文对照:(编译错误)常量中创建新行 分析:字符串常量多行书写 error C2006: #include expected a filename, found 'identifier' 中文对照:(编译错误)#include命令中需要文件名 分析:一般是头文件未用一对双引号或尖括号括起来,例如“#include stdio.h” error C2007: #define syntax 中文对照:(编译错误)#define语法错误 分析:例如“#define”后缺少宏名,例如“#define” error C2008: 'xxx' : unexpected in macro definition 中文对照:(编译错误)宏定义时出现了意外的xxx 分析:宏定义时宏名与替换串之间应有空格,例如“#define TRUE"1"” error C2009: reuse of macro formal 'identifier'

Fortran编译器常见错误提示及原因

附录:常见错误提示及原因 安装 1.关于Fortran编译器的安装和配置? 在安装FEPG之前一般要先安装好Powerstation Fortran 4.0编译器,并设置好Fortran编译器的path、lib和include路径。 如果你的Powerstation Fortran 4.0编译器安装在目录C:\MSDEV下,设置如下: ·在WIN 2000/XP下的设置: a.鼠标移到我的电脑图标,单击右键,然后点击属性; b.点击高级属性; c.点击环境变量,进行系统变量设置;系统变量如下图: d. 如果图上的include、lib、path几个变量没有,请点击新建;如有,点击编辑;按下面变量值进行修改: 变量:path值:c:\MSDEV\bin; %path% 变量:lib 值:c:\MSDEV\lib;%lib% 变量:include值:c:\MSDEV\include;%include% 注意:如果path、lib和include变量中有相应新增加的内容,可不增加。如果编译器装在其它目录,则把C:\MSDEV换为该目录名。实际上,在安装Powerstation Fortran 4.0时,会出现一个对话框,询问是否增加环境变量,如果选是,这些变量就已经配置好了。安装fepg,需要用户有管理员权限。 2.运行FEPG命令生成Fortran源程序时,出现fl32不是内部命令也不是外部命令的错误(或fl32 is not internal command)? 没配置好Fortran编译器的path路径。按照上面第1个问题中的解答配置好path路径。 3. 运行FEPG命令生成Fortran源程序时,有些fortran源程序没连接成可执行程序,出现不能发现fepg.lib库文件的错误? 安装FEPG之前,没安装和配置好Fortran编译器所致。在安装FEPG之后出现此情况,可先按照上面第1个问题中的解答配置好Fortran编译器,然后在dos窗口下,运行FEPG所在目录下nfe.r8目录下的gfepglib.bat程序,即可生成fepg.lib库文件。 4. 是否可用其他的Fortran编译器? 还可用Visual Fortran 6.5编译器,配置与Powerstation Fortran 4.0相同。对于IFEPG5.2(for g77)客户端,还可以用g77编译器了

keil-c语言编程常见错误分析

keil-c语言编程常见错误分析

1. Warning 280:’i’:unreferenced local variable 说明局部变量i 在函数中未作任何的存取操作解决方法消除函数中i 变量的宣告及即定义的参数在程序中并未调用 2 Warning 206:’Music3’:missing function-prototype 说明Music3( )函数未作宣告或未作外部宣告所以无法给其他函数调用 解决方法将叙述void Music3(void)写在程序的最前端作宣告如果是其他文件的函数则要写成extern void Music3(void),即作外部宣告 3Error:318:can’t open file ‘beep.h’ 说明在编译C:\8051\MANN.C 程序过程中由于main.c 用了指令#i nclude “beep.h”,但却找不到所致解决方法编写一个beep.h 的包含档并存入到c:\8051 的工作目录中 4 Error 237:’LedOn’:function already has a body 说明LedOn( )函数名称重复定义即有两个以上一样的函数名称 解决方法修正其中的一个函数名称使得函数名称都是独立的 5 ***WARNING 16:UNCALLED SEGMENT,IGNORED FOR OVERLAY PROCESS SEGMENT: ?PR?_DELAYX1MS?DELAY 说明DelayX1ms( )函数未被其它函数调用也会占用程序记忆体空间

解决方法去掉DelayX1ms( )函数或利用条件编译#if …..#endif,可保留该函数并不编译 6 ***WARNING 6 :XDATA SPACE MEMORY OVERLAP FROM : 0025H TO: 0025H 说明外部资料ROM 的0025H 重复定义地址 解决方法外部资料ROM 的定义如下Pdata unsigned char XFR_ADC _at_0x25 其中XFR_ADC 变量的名称为0x25,请检查是否有其它的变量名称也是定义在0x25 处并修正它 7 WARNING 206:’DelayX1ms’: missing function-prototype C:\8051\INPUT.C Error 267 :’DelayX1ms ‘:requ ires ANSI-style prototype C:\8051\INPUT.C 说明程序中有调用DelayX1ms 函数但该函数没定义即未编写程序内容或函数已定义但未作宣告 解决方法编写DelayX1ms 的内容编写完后也要作宣告或作外部宣告可在delay.h 的包含档宣告成外部以便其它函数调用 8 ***WARNING 1:UNRESOLVED EXTERNAL SYMBOL SYMBOL:MUSIC3

相关文档
相关文档 最新文档