2 ljhspeed ljhspeed 于 2012.12.05 11:48 提问

嵌入式新手求教,在IAR下对两个工程合并,编译出现未知错误。。

我是嵌入式刚开学的新手
在我们嵌入式课程上面,我们通过IAR对NXP LPC2478进行开发和编译学习。。
课程中收到了一些实验例程,其中就包括LCD 和 SD卡读取的相关例子。。
在学习中,我希望把SD卡读写和LCD显示整合在一起,能实现读取SD卡中数据显示在LCD屏幕的功能。。

在两个工程合并中,我用LCD的例子为基础,依次添加SD卡中相关的.c文件和.h文件。。。在添加SD卡的例子过程中,出现的未知错误,添加mmc.c的时候编译出错,出错提示如下

Error[Pa055]: expected a type attribute C:\Program Files\IAR Systems\Embedded Workbench 5.4 Evaluation\arm\inc\NXP\iolpc2460.h 2734 

Error[Pe079]: expected a type specifier C:\Program Files\IAR Systems\Embedded Workbench 5.4 Evaluation\arm\inc\NXP\iolpc2460.h 2734 

Error[Pe040]: expected an identifier C:\Program Files\IAR Systems\Embedded Workbench 5.4 Evaluation\arm\inc\NXP\iolpc2460.h 2734 

Error[Pe168]: a function type is not allowed here C:\Program Files\IAR Systems\Embedded Workbench 5.4 Evaluation\arm\inc\NXP\iolpc2460.h 2734 

Error[Pe147]: declaration is incompatible with "union <unnamed> volatile _A_<error>" (declared at line 4079) C:\Program Files\IAR Systems\Embedded Workbench 5.4 Evaluation\arm\inc\NXP\iolpc2460.h 4080 

等这几类错误,一共一百多个错误,查找的源头是

Embedded Workbench 5.4 Evaluation\arm\inc\NXP\iolpc2460.h

在添加各个.c时编译时没有问题的,但是在main函数 #include “mmc.h” 时 就是会出现错误。
我在整合时看到,SD卡的例子用的头文件时 而 LCD则用的是另外的头文件“LPC23XX.h”,“LPC2468.h”

所以在此希望高人能帮助下我,谢谢。。

1个回答

gouxiaojin
gouxiaojin   2012.12.05 17:11

猜测是重复定义造成的。
把头文件都统一成一个试试,根据芯片型号看看用哪个头文件合适,都统一成一个。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!