归档a.cc
int a = 0;
文件b.cc
#include "a.cc"
文件main.cc
#include "b.cc"
extern int a;
int main() {
}
g++ -c a.cc
g++ -c b.cc
g++ main.cc a.o b.o
error: multiple definitions of a
我在这里做错了什么?
解决方法:
您包括一个.cc(或.cpp)文件,这是错误的.不要那样做.您需要一个标头,然后将extern int a ;:
// a.h
// include guards omitted
extern int a;
// a.cc
#include "a.h"
int a;
// b.cc
#include "a.h"
// main.cc
#include "a.h"
int main(){
// use a
}