我有一个大型项目,旨在控制和测试硬件。
有 4 个设备控制类(用于干涉仪、压电电机、PXI 系统和纳米定位控制器)。
我创建了一个名为 MainIO 的“主”类,它存储上述每个类的实例,以便在 IO 范围内执行操作(即移动电机和检查干涉仪)。MainIO 头文件包括 4 个控制类头文件。
然后我有一个单独的“全局”hpp/cpp,其中包含全局变量、转换、ini 文件操作等。这是用操作类型的命名空间而不是创建一个类来布局的,即GCONV::someFunction();
和GMAIN::controllerModel;
我需要所有 4 个控制类才能访问转换和其他全局操作。我曾经让它们都包括 global.hpp,但我已经改变了一些东西(我想不出它会是什么!)现在看来我不能在我的任何控制类 hpp 或 cpp 中包含 global.hpp没有出现链接器错误 -
global.obj:-1: error: LNK2005: "class QString GMAIN::controllerModel" (?controllerModel@GMAIN@@3VQString@@A) already defined in controllers.obj
我绝对确定我做了一些愚蠢的事情,解决方案正盯着我的脸,但它已经到了我对此感到非常沮丧的阶段,以至于我看不到树木的树木。