Symbol xxx multiply defined (by xxx1.o and xxx2.o).

在stm32systick学习中,systick.h中写了如下代码:


#ifndef SYSTICK_H
#define SYSTICK_H

#include"stm32f10x.h"

unsigned int TimingDelay;

void TimingDelay_Decrement(void);
void Delay(unsigned int value);

#endif


发现报错:Error: L6200E: Symbol TimingDelay multiply defined (by int.o and main.o).等

原来是因为定义了变量TimingDelay,导致报错。

将该变量定义在main.c文件中,并将systick.h文件中的语句改为

extern unsigned int TimingDelay;即可编译通过

为什么捏??

你可能感兴趣的:(stm32,keil)