If I understood you correct, you want to have a single instance of C1 base class in the structure of C7?
Yes, it can be achieved by virtually inheriting both C2 and C3 from C1.
But it's not enough. You have to change initialization of C1 as well.
Virtual base class is initialized by the mostly derived one, i.e. by C7 in your case.
Does C1 have a default constructor?
If not, it must be explicitly initialized in C7 constructor's member initialization list using whatever constructor C1 has.

Nikolai