IAR4.42A编译错误!请教!
IAR中的error[27]
(2009-09-23 10:19:05) 转载
标签: 分类: 嵌入式_etung
嵌入式_etung it
发现IAR的链接器不允许在头文件中定义一个全局变量,然后有两个.c文件去引用。而VC6.0就可以这样做。 所报错误示例为:
Error[e27]: Entry \in module ( E:\\work\\MiniFrame\\PRJ\\LED200_W4\\IAR\\Debug_in_flash\\Obj\\Wmmp.r79 ) redefined in module ( E:\\work\\MiniFrame\\PRJ\\LED200_W4\\IAR\\Debug_in_flash\\Obj\\app.r79 ) 将头文件中变量前加上extern 后即不再报错。
Wmmp
app
程序编译时出现以下错误,实在不知道是什么原因,特向大家请教!
Error[Pe223]: function \涡街流量计\\
设计\\板2\\程序\\dft02\\library\\src\\stm32f10x_nvic.c 351
Error[Pa045]: function \涡街流量计\\设计
\\板2\\程序\\dft02\\library\\src\\stm32f10x_rcc.c 500
Error[Pe223]: function \涡街流量计\\
设计\\板2\\程序\\dft02\\library\\src\\stm32f10x_rcc.c 530
第一你用了中文文件夹
第二没有定义assert_param这个函数
不太明白,assert_param函数在stm32f10x_conf.h中已经定义了。stm32f10x_conf.h已加到workplace里了。
还有文件夹用中文对程序有影响吗?
库文件版本混乱,估计用错IARv5的文件了.
库文件版本混乱,估计用错IARv5的文件了.
Error[Pe020]: identifier \
查看是否包含了头文件:#include \
想改STM32F10X_MD为STM32F10X_HD,但是IAR530就是编译
startup_stm32f10x_md.s文件,何解??
想改STM32F10X_MD为STM32F10X_HD,但是IAR530就是编译
startup_stm32f10x_md.s文件,何解??
编译那个文件和这个宏定义无关,你应该把STM32F10X_HD.s文件添加到你的工程
中,并把startup_stm32f10x_md.s从工程中删除或设为不编译才行
请问下,IAR编译出现这个错误
Error[Li005]: no definition for \
[referenced from
F:\\sd\\WORM_SD_MMC1\\WORM_SD_MMC\\Debug\\Obj\\stm32f10x_vect
or.o]
,这是我在做实验时出现的错误,有时候从别的地方拷贝个stm32f10x_vector.o覆盖掉原来的就可以,有时就不行,怎么
回事呢这是?
再有,我想把一个数组定义在程序空间,在IAR环境下如何做呢?我用原来的 u8 code shuzu[]的方式怎么不行呢?把code
删掉就可以,忘各位高手解答下。
code这个标志应该不能用了吧,应该是用 const 就可
以完成
stm32f10x_vector.o 貌似应该是每次都从代码里面生成的吧,直接拷贝别的程序的文件,应该是不行的
你应COPY的是stm32f10x_vector.c这个文件,还有就是stm32f10x_vector.c在
IAR4XX及IAR5XX下用的不一样,你在固件库下的工程模板中应找到它。
o ,多谢解答,再有 uchar const
tabe[]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,00
,0,0};
for(i=0;i<8;i++)
{
Lbytesend( i, 0, tabe,32); Lbytesend( i, 32, tabe,32); /* Rbytesend( i, 0, tabe,32); Rbytesend( i, 32, tabe,32);*/
}
}
这个函数,在没有加const时编译是通过的,但是加了const时出现了这样的错误,Error[Pe167]: argument of type \is incompatible with parameter of type \char *\E:\\网络模块\\20090506试验\\USE_LCD.C 188
这又如何解决呢?
binglin
这个函数\的原型怎样定义的?