Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Linkar templates en c++ Visual Studio

Estas en el tema de Linkar templates en c++ Visual Studio en el foro de C/C++ en Foros del Web. Hola, tengo un proyecto simple en Visual Studio en el que uso una template. Lo forman main.cpp, matriz.cpp y matriz.h.Al linkar, aparece el siguiente mensaje ...
  #1 (permalink)  
Antiguo 16/02/2011, 04:18
 
Fecha de Ingreso: febrero-2011
Mensajes: 1
Antigüedad: 13 años, 2 meses
Puntos: 0
Linkar templates en c++ Visual Studio

Hola,

tengo un proyecto simple en Visual Studio en el que uso una template. Lo forman main.cpp, matriz.cpp y matriz.h.Al linkar, aparece el siguiente mensaje de error:

1>------ Operación Generar iniciada: proyecto: matriz, configuración: Debug Win32 ------
1>Compilando...
1>main.cpp
1>matriz.cpp
1>Generando código...
1>Vinculando...
1>main.obj : error LNK2019: símbolo externo "public: __thiscall Matriz<int>::~Matriz<int>(void)" (??1?$Matriz@H@@QAE@XZ) sin resolver al que se hace referencia en la función _main
1>main.obj : error LNK2019: símbolo externo "public: void __thiscall Matriz<int>::imprimir(void)" (?imprimir@?$Matriz@H@@QAEXXZ) sin resolver al que se hace referencia en la función _main
1>main.obj : error LNK2019: símbolo externo "public: void __thiscall Matriz<int>::putValue(int,int,int)" (?putValue@?$Matriz@H@@QAEXHHH@Z) sin resolver al que se hace referencia en la función _main
1>main.obj : error LNK2019: símbolo externo "public: __thiscall Matriz<int>::Matriz<int>(int,int)" (??0?$Matriz@H@@QAE@HH@Z) sin resolver al que se hace referencia en la función _main
1>C:\Documents and Settings\usuario\Mis documentos\C++\Fase2\matriz\Debug\matriz.exe : fatal error LNK1120: 4 externos sin resolver
1>El registro de generación se guardó en el "file://c:\Documents and Settings\usuario\Mis documentos\C++\Fase2\matriz\matriz\Debug\BuildLog. htm"
1>matriz - 5 errores, 0 advertencias
========== Generar: 0 correctos, 1 incorrectos, 0 actualizados, 0 omitidos ==========

Si en el main.cpp hago #include matriz.pp (además del matriz.h), el mensaje desaperece y linka adecuadamente y funciona lel programa. ¿Por qué? ¿Alguien sabe si he de modificar alguna opción de linkado en propiedades?

Gracias!!
  #2 (permalink)  
Antiguo 16/02/2011, 10:06
 
Fecha de Ingreso: enero-2008
Mensajes: 229
Antigüedad: 16 años, 3 meses
Puntos: 1
Respuesta: Linkar templates en c++ Visual Studio

no, por desgracia las clases y métodos creados como templates, la declaración y definición de ellos debe estar en el mismo archivo

Etiquetas: studio, visual, template
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:02.