大概有下面几种情况会引起这个错误。
1.变量定义:
解决办法是在a.h中的变量声明前加上extern 关键字,表示这里只是声明不定义,然后在a.cpp中不加extern关键字定义这个变量,编译链接顺利通过。
2.函数定义:
在a.h中定义函数Init:
void Init()
{
}
b.cpp中包含头文件 a.h,链接时也会出现相同的错误。
解决办法有两个,一种是添加inline关键字,另一种办法是将函数实现放在a.cpp中,这样就不会出现重定义问题。
大概有下面几种情况会引起这个错误。
1.变量定义:
解决办法是在a.h中的变量声明前加上extern 关键字,表示这里只是声明不定义,然后在a.cpp中不加extern关键字定义这个变量,编译链接顺利通过。
2.函数定义:
在a.h中定义函数Init:
void Init()
{
}
b.cpp中包含头文件 a.h,链接时也会出现相同的错误。
解决办法有两个,一种是添加inline关键字,另一种办法是将函数实现放在a.cpp中,这样就不会出现重定义问题。