Saltar al contenido

Símbolo externo sin resolver en archivos de objetos

Hola, hemos encontrado la respuesta a lo que andabas buscando, desplázate y la hallarás un poco más abajo.

Solución:

Este error a menudo significa que alguna función tiene una declaración, pero no una definición.

Ejemplo:

// A.hpp
class A

public:
  void myFunc(); // Function declaration
;

// A.cpp

// Function definition
void A::myFunc()

  // do stuff

En su caso, la definición no se puede encontrar. El problema podría ser que está incluyendo un archivo de encabezado, que trae algunas declaraciones de funciones, pero usted:

  1. no defina las funciones en su archivo cpp (si escribió este código usted mismo)
  2. no incluya el archivo lib/dll que contiene las definiciones

Un error común es que define una función como independiente y olvida el selector de clase, por ejemplo A::en tus .cpp expediente:

Incorrecto:void myFunc() /* do stuff */
Derecha:void A::myFunc() /* do stuff */

Verifique que esté incluyendo todos los archivos de origen dentro de su solución a la que hace referencia.

Si no está incluyendo el archivo fuente (y por lo tanto la implementación) para la clase Field en su proyecto no se construirá y no podrá vincular durante la compilación.

Alternativamente, tal vez esté utilizando un static o biblioteca dinámica y se han olvidado de decirle al enlazador sobre el .lib¿s?

Parece que falta una biblioteca o incluye, puede intentar averiguar qué clase de su biblioteca tiene getName, getType, etc. y poner eso en el archivo de encabezado o usando #include.

Además, si estos son de una biblioteca externa, asegúrese de hacer referencia a ellos en su archivo de proyecto. Por ejemplo, si esta clase pertenece a abc.lib, entonces en su Visual Studio

  1. Haga clic en Propiedades del proyecto.
  2. Vaya a Propiedades de configuración, C/C++, Generar, verifique que apunta a la ubicación abc.lib en Directorios de inclusión adicionales. En Vinculador, Entrada, asegúrese de tener abc.lib en Dependencias adicionales.

valoraciones y comentarios

Ten en cuenta comunicar este tutorial si si solucionó tu problema.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *