这通常是因为在一个头文件中定义了变量,然后在多个源文件中包含了该头文件,而这些源文件又被链接在一起。这样,编译器就会看到多个变量定义的情况。要解决该问题,可以在头文件中使用extern关键字来声明变量,并在一个源文件中定义它。然后在其他源文件中包含该头文件即可,编译器就不会看到多个定义的情况了。示例代码如下:
在header.h头文件中声明变量:
extern int global_var;
在一个源文件中定义变量:
#include "header.h"
int global_var = 0;
在其他源文件中包含头文件即可:
#include "header.h"
// code using global_var