Include and compile cpp header file from c : I have a cpp file and its header file. I need to include this cpp header file in a c code and use the functions in it.

When the cpp.h file is compiled through main.c, compilation fails because of the cpp linkage.
On using the macro __cplusplus stream and string are not resolved, is there some way to compile the cpp.h file through and execute.

I have given a outline of my code only.
Kindly help me out in this. Thanks

**cpp header file cpp.h**
    
    struct s1
    {
    string a;
    string b;
    };
    typedef struct s1 s2;
    class c1
    {
    public:
    void fun1(s2 &s3);
    private: 
    fun2(std::string &x,const char *y);
    };

**cpp file cpp.cpp**
    
    c1::fun1(s2 &s3)
    {
     fstream file;
     
    }
    
    c1::fun2(std::string &x,const char *y)
    {
     
    }


**c file main.c**
   
    #include "cpp.h"
    void main()
    {
     c1 c2;
     s1 structobj;
     c2.fun1(&structobj);
     printf("\n value of a in struct %s",structobj.a);

    }
    