none
ERROR LNK2019 RRS feed

  • Pregunta

  • Buenas tardes, tengo un programa que al intentar compilarlo me da los siguientes errores de enlazado:

    PhysXManager.obj : error LNK2019: símbolo externo "public: __thiscall CookingMesh::CookingMesh(void)" (??0CookingMesh@@QAE@XZ) sin resolver al que se hace referencia en la función "public: __thiscall PhysXManager::PhysXManager(void)" (??0PhysXManager@@QAE@XZ)

    1>PhysXManager.obj : error LNK2019: símbolo externo "public: __thiscall CookingMesh::~CookingMesh(void)" (??1CookingMesh@@QAE@XZ) sin resolver al que se hace referencia en la función "public: __thiscall PhysXManager::~PhysXManager(void)" (??1PhysXManager@@QAE@XZ)

    1>PhysXManager.obj : error LNK2019: símbolo externo "public: void __thiscall CookingMesh::InitNx(class NxPhysicsSDK *,class UserAllocator *)" (?InitNx@CookingMesh@@QAEXPAVNxPhysicsSDK@@PAVUserAllocator@@@Z) sin resolver al que se hace referencia en la función "public: bool __thiscall PhysXManager::InitNx(void)" (?InitNx@PhysXManager@@QAE_NXZ)

    1>PhysXManager.obj : error LNK2019: símbolo externo "public: __thiscall UserAllocator::UserAllocator(void)" (??0UserAllocator@@QAE@XZ) sin resolver al que se hace referencia en la función "public: bool __thiscall PhysXManager::InitNx(void)" (?InitNx@PhysXManager@@QAE_NXZ)

    1>PhysXManager.obj : error LNK2019: símbolo externo "public: void __thiscall CookingMesh::ExitNx(void)" (?ExitNx@CookingMesh@@QAEXXZ) sin resolver al que se hace referencia en la función "public: void __thiscall PhysXManager::ExitNx(void)" (?ExitNx@PhysXManager@@QAEXXZ)

    1>.\bin\Debug\OgrePhysX281.exe : fatal error LNK1120: 5 externos sin resolver

    ¿Qué significa  lo de (símbolo externo "xxxxxxxxx" sin resolver al que se hace referencia en la función "yyyyyyyyyy")?

    Tengo todas las rutas tanto de los archivos.h necesarios (Directorios de inclusión adicionales), como la ruta de los .lib (directorio bibliotecas adicionales) y los nombres de los lib que utilizo (Dependencias adicionales). Lo he revisado varias veces y parece que todo está bien configurado en las opciones del proyecto.

    Me gustaría que alguien me diese una explicación de cuales son los motivos por lo que estos errores aparecen. Yo he mirado bastante por la web y he leído diversas situaciones por las que aparece pero no encuentro mi problema. A ver si con la ayuda de alguien puedo comprender el problema para poder solucionarlo.

    Espero vuestra respuesta, saludos y gracias.

    Alguien puede ayudarme???


    • Editado Fco.Javier jueves, 27 de junio de 2013 17:15
    lunes, 24 de junio de 2013 14:53

Todas las respuestas

  • Hola.

    Ese error se debe a que no encuentra un símbolo externo. Es decir, dentro de tu código (o el de terceros), se hace referencia a algún método que el linker no puede encontrar en ningún sitio.

    Si estás seguro que lo tienes todo, puede deberse al "name mangling" de C++. Léete esto:

    https://en.wikipedia.org/wiki/Name_mangling

    Lo más común es que o bien estés intentando enlazar una biblioteca compilada con otro compilador que haga un "name mangling" diferente o bien te falte alguna biblioteca.


    MVP Visual C++ - Visita mi blog sobre desarrollo: http://geeks.ms/blogs/rfog/

    viernes, 12 de julio de 2013 15:08
    Moderador