关于VS2019测试Qt项目一个非常罕见的BUG

故事的情节是这样的:

我有一个Qt普通的QMainWIndow,在里面写了些功能,然后我写了一个global.cpp和global.h,其中global.h中定义了一个函数Fun()用到了一个变量books,books在global.h中声明为extern,在main.cpp中定义为全局变量。这时候启动单元测试出现了2024个错误,但是将Fun中使用books的部分注释掉就可以成功测试,请问这是为什么?百思不得其解。图片说明

补充:试了下把books的定义放到global.cpp中问题就好了,但是还是觉得奇怪这是为什么。

把怎么写的代码贴出来呀,要不没法分析啊