我有一堆包含静态变量的 cpp 文件(应该没有头文件)。我的 Visual Studio 2008 编译器似乎忽略了这些静态变量 - 我该如何解决?
更多细节:
- 我有一个具有静态字段 allInstances 的抽象类;当构造我的类的“具体”实例时(它发生在实例化 cpp 文件中的静态变量时),指向它的指针被 push_back'ed 到 allInstances 中。
- Cpp 文件包含从我的抽象类派生的类;它们的实现需要保留在 cpp 文件中,因为它们只能通过 allInstances 调用
- 我的抽象类 cpp 文件位于在静态库中编译的文件夹(项目)中
- 此静态库由编译 xll 的项目使用
当 cpp 文件位于 xll 项目中时,一切都很好。但是当我将 cpp 文件移动到一个单独的文件夹中时(需要这样做,因为 excel 现在不是唯一的界面)我的静态变量不再被实例化。
我有很多这些 cpp 文件,并将它们全部包含在每个 xll、exe、pyd、dll 等项目中。
有任何想法吗?提前谢谢了。