qt多个源文件使用同一个对象

qt多个cpp文件使用同一个对象transdata,参照https://bbs.csdn.net/topics/391995068在transdata.h里声明extren TRANSDATA transdata。在a.h里#include "transdata.h",编译正常,使用transdata正常。在mainwindow.h里#include "transdata.h",使用transdata编译报错error: undefined reference to `transdata',

transdata.h

class TRANSDATA  : public QObject{
  int m_a = 0;
  ...}
extern TRANSDATA transdata;

a.h

#include "transdata.h"

a.cpp

qDebug()<<transdata.m_a;

mainwindow.h

#include "transdata.h"

mainwindow.cpp

qDebug()<<transdata.m_a; //编译报错error: undefined reference to `transdata',

请教,代码改如何修改呢

你只是声明了,定义在那么个文件里?