¿Cómo llamar a la función C ++ desde C?

Yo se esto.

Llamando a la función C desde C ++:

Si mi aplicación estuviera en C ++ y tuviera que llamar a funciones desde una biblioteca escrita en C. Entonces habría usado

//main.cpp

extern "C" void C_library_function(int x, int y);//prototype
C_library_function(2,4);// directly using it.

Esto no destrozaría el nombreC_library_function y el enlazador encontraría el mismo nombre en sus archivos de entrada * .lib y el problema está resuelto.

¿Llamando a la función C ++ desde C ???

Pero aquí estoy extendiendo una aplicación grande que está escrita en C y necesito usar una biblioteca que está escrita en C ++. El cambio de nombre de C ++ está causando problemas aquí. Linker se queja de los símbolos no resueltos. Bueno, no puedo usar el compilador de C ++ sobre mi proyecto C porque eso es romper muchas otras cosas. ¿Dónde está la salida?

Por cierto estoy usando MSVC

Respuestas a la pregunta(6)

Su respuesta a la pregunta