C++中多项目共享类结构的问题

现在接手了一个C++工程,一个解决方案下面有5个项目使用了同一个类。当前的做法是把类的实现和声明都在h文件里面完成,即没有cpp文件。按照我的理解,这样应该会在每个工程下面都会编译出该类的obj,各个项目在使用的时候那就是链接的本工程该类的obj。我认为应该由一个工程来编译然后通过declspec(dllexport)导出该类给别的工程使用,否则该类的静态成员就不是对应同一块静态成员(其他可能的问题我也暂时没想到,好像除了static其他都可以照常使用)。不知道我的理解是否正确,同时也想请教下这种情况下的理想做法应该是怎么样的。

直接把类用h,cpp分别包含申明和实现,然后其他工程包含源码编译就可以了,就相当于类库

并是你想的就生成一个obj文件,而是一个obj文件也不生成,因为.h格式的文件,在编译的时候,是不生成.obj文件的