qt中“undefined reference to "问题

我有一个全局变量头文件 predefine.h,里面声明了一个数组

extern int Para[36]。

在predefine.cpp文件中,对该数组进行定义:

const int ParaLines[36] = {1};

在我自己的类myclass.h中引入predefine.h:

#include "predefine.h"

在myclass.cpp中直接使用该数组:

void myclass::func(int a){
        ParaLines[a] += 1;
}

在编译后,提示 error: undefined reference to `ParaLines'。
当我删除predefine.cpp中的定义,直接在predefine.h中定义数组,错误就消失了,这是为什么呢?

extern int Para[36]
const int ParaLines[36] = {1};
这两个名称不一致

#include "predefine.h"
少了引号。