首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

关于编译连接的有关问题

2012-02-15 
关于编译连接的问题我改的程序,编译没有问题,连接出现一大堆错误 错误提示如下:Symbol TASK0_STACK multip

关于编译连接的问题
我改的程序,编译没有问题,连接出现一大堆错误 错误提示如下:
Symbol TASK0_STACK multiply defined (by target.o and ISR.O)
Symbol TASK1_STACK multiply defined (by target.o and ISR.O)
Symbol TASK2_STACK multiply defined (by target.o and ISR.O)
Symbol TASK3_STACK multiply defined (by target.o and ISR.O)
Symbol TASK4_STACK multiply defined (by target.o and ISR.O)
  。
  。
  。

TASK0~4都是程序中建立的任务。。。。我改的一大堆,不知道哪里改错了,
现在连接出错也找不到原因,请教各位大侠。。在此先谢过了。。

[解决办法]
这些变量被多重定义了,检查下target.cx和ISR.cx文件
[解决办法]
错误提示很明显啊。
标志重定义了.
[解决办法]
在你的target.c及ISR.c中重复定义了TASK0_STACK ,TASK1_STACK ....
可能的问题是这些变量是定义在.h 中的,且都是定义而非声明,
找到它们,在.h中用extern声明
另一个不是很合理的方法,加编译选项:
--allow-multiple-definition 就不会报这个错了



热点排行