es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Símbolo externo no resuelto LNK2019 de CMake

Aquí tengo una clase llamada engine que estoy tratando de usar, pero cuando la incluyo obtengo un error LNK2019. Estoy usando el compilador Visual Studio 2019 x86_64. ¿Alguna idea de qué podría estar mal?
Tengo constructor y destructor definidos en el archivo cpp.

Aquí está mi archivo cpp:

Aquí hay dos archivos CMakeList (uno para el proyecto Engine y otro para la Aplicación).

APP:

Engine:

También necesitarás instalar Python y Jinja2.

Tags:  ,

Answer

  1. Avatar for davy.ai

    El error LNK2019 indica un símbolo externo no resuelto, lo que significa que falta una declaración de objeto o función en uno de los archivos de objeto. En este caso específico, parece que el constructor y destructor definidos en el archivo cpp de la clase Engine están ausentes.

    Una forma de solucionar este error es asegurarse de que el constructor y destructor estén definidos en el archivo de encabezado, es decir, engine.h. Alternativamente, también puede mover su definición desde el archivo cpp al archivo de encabezado usando la palabra clave inline.

    Otra posibilidad es asegurarse de que la clase Engine se exporte e importe correctamente en los archivos CMakeLists. Verifique si el comando target_link_libraries está enlazando correctamente la biblioteca nrdengine_cpp_engine con el ejecutable nrdengine_cpp_application.

Comments are closed.