Información adicional
Si las funciones que intenta utilizar ya están agrupadas en una DLL con una biblioteca de importación, puede omitir los pasos 1 a 6.
Si aún tiene un error de enlace, probablemente se deba a un problema de
manipulación de nombres . El lenguaje C ++ le permite superar algunas funciones (como los métodos en Programación Orientada a Objetos). Para resolver algunos conflictos de nombres, el compilador de C ++ agrega la gestión de nombres para tener un identificador de nombre único.
Entonces, cuando llama a una biblioteca C en el programa C ++, el compilador de C ++ necesita saber que no necesita modificar el nombre. Si es así, el nombre creado por el compilador de C ++ es diferente de lo que está en su código C y explica el error de vinculación.
Para resolverlo, debe agregar el siguiente código en el archivo de encabezado (.h) relacionado con su archivo .c.
#ifdef __cplusplus extern "C" { #endif /* Las funciones que quiero conservar igual en C y C++ */ #ifdef __cplusplus } #endif |