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:
- no defina las funciones en su archivo cpp (si escribió este código usted mismo)
- 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
- Haga clic en Propiedades del proyecto.
- 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.