Foros - Stratos

Programadores => General Programadores => Mensaje iniciado por: AgeR en 29 de Noviembre de 2003, 10:00:48 PM

Título: Devc++ Y Libs Del Vc++
Publicado por: AgeR en 29 de Noviembre de 2003, 10:00:48 PM
 Estoy planteándome en dejar el Visual C++ y meterme con el DevC++.
Este fin de semana, al no tener el VC++ instalado aquí, quería compilar un ejemplito que hice a ver si rulaba con el DevC.
El ejemplo, carga una librería que hice con el VC++. Pero al intentar compilar con el devc me da errores de linkado : undefined reference to 'clase o funcion'

Sin embargo, tengo la librería puesta donde toca para linkar. He probado metiendole la librería directamente en las opciones del proyecto y también mediante un #pragma, pero nada.

El devc no soporta libs creadas con el vc? Si es así, por que deja seleccionar librerías con formato .lib además de .a?

En fin, que lio XD
Título: Devc++ Y Libs Del Vc++
Publicado por: Zaelsius en 29 de Noviembre de 2003, 11:34:26 PM
 Hombre, que tanto las las librerias de Dev-C++ como las de VC++ tengan la misma extensión no significa que sean compatibles. Aunque ya lo sabrás, lo digo : .lib es el convenio para compiladores windows, y .a para compiladores unix/linux. Aun asi, si les cambias la extension la mayoria de los compiladores las seguirán enlazando.

Total, que te toca recompilar la libreria con el compilador que luego vayas a usar. Por algo preguntaba por aquí Boubou hace poco por librerias de directx8 para Dev-C++.  :(  
Título: Devc++ Y Libs Del Vc++
Publicado por: AgeR en 30 de Noviembre de 2003, 12:03:06 AM
 Lo sé, lo sé.
El caso es que como he visto que todas las librerías del devc tienen la extensión .a he supuesto que de algún modo el compilador podía usar las .lib haciendo algún tipo de conversión o algo.
Vamos, que parece que he supuesto algo que no era.
Y no habrá algún programita que te transforme de .lib a .a? (Me dá que acabo de decir una animalada XD)
Es que estoy un poco aburrido y me apetece hacer algo XDDDD

En fin  :(  
Título: Devc++ Y Libs Del Vc++
Publicado por: AgeR en 13 de Diciembre de 2003, 12:38:54 AM
 Pues vuelvo a la carga con el tema del devc++.

Me he topado con un error algo extraño (o eso me parece a mí) al intentar compilar código que funciona perfectamente en vc.
El principal problema (a parte de uno de las dx9) es el siguiente :

147 C:\ANDOR PROYECTOS\NaraEngine\Graficos.cpp invalid conversion from `void*' to `HINSTANCE__*'

Aquí tenemos la instancia para la clase de ventana, a parte del resto de miembros y tal
wc.hInstance      = GetModuleHandle(NULL);

Ahora intentamos crear la ventana.
hWnd = CreateWindow(m_szClase, m_szTitulo,
                      WS_OVERLAPPEDWINDOW | WS_VISIBLE, 0, 0, m_iAncho, m_iAlto,
                       GetDesktopWindow(), NULL, wc.hInstance, NULL);


El error lo dá en el CreateWindow. Parece que espera otra cosa en vez del wc.hInstance.
Alguien que haya usado devc o que sepa qué puede ser, podría echarme una mano?

Gracias!
Título: Devc++ Y Libs Del Vc++
Publicado por: ethernet en 13 de Diciembre de 2003, 10:04:02 AM
 c++ no tienen conversion implicita de tipos, usa un cast. Puedes usar el cast de c (HINSTACE) o usar uno de los de c++, aunque en este caso no se si sera static_cast o reinterpert_cast (o apuesto mas por el segundo)

saludos
Título: Devc++ Y Libs Del Vc++
Publicado por: Zaelsius en 13 de Diciembre de 2003, 11:50:20 AM
Cita de: "ethernet"reinterpert_cast
Has cometio un mispelling jeje, es "reinterpret_cast<>". No sea que lo quiera probar alguien y se de cabezazos contra la pared  (nooo) .

PD: Ayer estuve 1 hora comiendome el tarro con OpenGL, intentando dibujar una rejilla.. hasta que me dí cuenta que estaba poniendo GL_LINE en vez de GL_LINES..  (nooo)  
Título: Devc++ Y Libs Del Vc++
Publicado por: MChiz en 13 de Diciembre de 2003, 11:54:21 AM
 Pues utiliza los checks de GL : )
Título: Devc++ Y Libs Del Vc++
Publicado por: AgeR en 13 de Diciembre de 2003, 12:02:26 PM
 Pues muchísimas gracias, ya está solucionado!  (ole)  
Título: Devc++ Y Libs Del Vc++
Publicado por: ethernet en 13 de Diciembre de 2003, 02:55:05 PM
Cita de: "ZaelSiuS"
Cita de: "ethernet"reinterpert_cast
Has cometio un mispelling jeje, es "reinterpret_cast<>". No sea que lo quiera probar alguien y se de cabezazos contra la pared  (nooo) .
nota mental: no todo el mundo usa visual assist y su estupendo, fantastico y maravilloso autocomplete  
Título: Devc++ Y Libs Del Vc++
Publicado por: lordloki en 13 de Diciembre de 2003, 06:28:29 PM
 
Cita de: "AgeR"El caso es que como he visto que todas las librerías del devc tienen la extensión .a he supuesto que de algún modo el compilador podía usar las .lib haciendo algún tipo de conversión o algo.
Vamos, que parece que he supuesto algo que no era.
Y no habrá algún programita que te transforme de .lib a .a? (Me dá que acabo de decir una animalada XD)
Es que estoy un poco aburrido y me apetece hacer algo XDDDD

Prueba a renombrar la librería ".lib" a ".a". Con la librería OpenAL funciona y enlaza correctamente. Aunque no te aseguro que funcione para todas las librerías.
Saludos
Título: Devc++ Y Libs Del Vc++
Publicado por: AgeR en 13 de Diciembre de 2003, 06:54:09 PM
Cita de: "lordloki"Prueba a renombrar la librería ".lib" a ".a". Con la librería OpenAL funciona y enlaza correctamente. Aunque no te aseguro que funcione para todas las librerías.
Saludos
Probé a hacerlo y no funcionó.
De todas formas he recompilado mi dll en el devc directamente y ya la he podido usar sin problemas (no está mal teniendo en cuenta que usa STL, DX9, singletons y alguna cosa "rara" más).
Tan solo me han hecho falta unos ajustes en el dibujado de sprites (la clase D3DXSprite ha cambiado en la summer release), y los nombres de las librerías, a parte del problema con el HINSTANCE.

Además la dll que genera el devc me ocupa unos 200k, frente a los 492k de la de VC.
Por contra, la lib generada con devc ocupa 99k y la del VC unos 41k.

Bueno, ya de paso, por si alguien se decide a utilizar las DX9 en este entorno, hay que incluir la dll d3dx9d.dll (mega y medio) en el lugar donde tengas tu aplicación.

Venga, de nuevo gracias a todos!
Título: Devc++ Y Libs Del Vc++
Publicado por: Mars Attacks en 13 de Diciembre de 2003, 09:39:44 PM
 Cuéntalo todo: me funciona hasta a mí  (uoh)