Page 1 of 2

compilar .rc en DLL con MSVC2010

PostPosted: Mon Jul 15, 2013 6:24 pm
by lucasdebeltran
Hola,

Por favor, ¿cómo se compila un .rc para hacerlo .DLL con recursos con MSVC 2010?.

Muchas gracias.

Re: compilar .rc en DLL con MSVC2010

PostPosted: Mon Jul 15, 2013 7:31 pm
by cnavarro
Igual que en MSVC2012
Mira a ver si te sirve:
http://forums.fivetechsupport.com/viewtopic.php?f=6&t=26743#p148032
Saludos

Re: compilar .rc en DLL con MSVC2010

PostPosted: Mon Jul 15, 2013 8:32 pm
by Antonio Linares
Lucas,

Una DLL es una especie de "EXE" que puede ser usado desde otros EXEs, por lo que con unas pequeñas modificaciones podrias usar el buildh32.bat de FWH, ya que:

1. Se compila un fichero .C
2. Se compila un fichero .RC
3. Se genera un ejecutable (EXE o DLL según flags)

Ahora mismo estoy reinstalando todas las herramientas de desarrollo en un ordenador, (de paso voy a instalar el Windows Blue) y en cuanto este listo, te ayudo a localizar los flags necesarios :-)

Re: compilar .rc en DLL con MSVC2010

PostPosted: Tue Jul 16, 2013 9:04 am
by lucasdebeltran
Antonio,

Perfecto, muchas gracias. En realidad, lo necesito para 64 bits con MSVC 2010 64, ya que tengo que modificar el prev64.dll.

Muchas gracias Maestro.

Re: compilar .rc en DLL con MSVC2010

PostPosted: Tue Jul 16, 2013 10:20 am
by Antonio Linares
Instalado el Windows 8.1...

Afortunadamente se instalo bien desde pendrive. Como comentario personal, no me ha gustado la instalacion. Creo que es de las menos intuitivas que Windows ha tenido...

Ahora estoy instalando Visual Studio 2012 Express, ya que anteriormente estaba usando la version Pro, pero entiendo que es preferible que use la que todo el mundo tiene a su alcance

Aun me quedan por instalar algunas cosas... :-)

Re: compilar .rc en DLL con MSVC2010

PostPosted: Tue Jul 16, 2013 11:40 am
by Antonio Linares
Al usar GIT ahora, tanto para Harbour como para FWH, enlentece el proceso cuando hay que hacer un checkout limpio (desde cero), ya que como se genera una copia completa del repositorio, el tiempo de descarga es mucho mayor

Ya está instalado Visual Studio 2012 Express :-)

Descargando Harbour y FWH en Windows 8.1...

Re: compilar .rc en DLL con MSVC2010

PostPosted: Tue Jul 16, 2013 5:28 pm
by Antonio Linares
Lucas,

Al instalar Visual Studio 2012 Express (sin tener instalado VS2010) he descubierto que los paths de los ficheros include
y de las librerias han cambiado bastante. He conseguido ya identificar los nuevos, pero me preguntaba si llamando
al fichero vcvarsall.bat que MSVC proporciona, podria automatizar los paths. En eso estoy ahora mismo.

Que versión de MSVC estas usando, 2012 ó 2010 ? 2013 ?

Si en 2013 ha vuelto a cambiar todo, entonces lo suyo es ver si se puede usar vcvarsall.bat :-)

Re: compilar .rc en DLL con MSVC2010

PostPosted: Tue Jul 16, 2013 5:28 pm
by Antonio Linares
El titulo del post: 2010...

:-)

Re: compilar .rc en DLL con MSVC2010

PostPosted: Tue Jul 16, 2013 7:05 pm
by lucasdebeltran
Efectivamente, 2010 ;).

Yo adapté los build con los paths de vcvarsall.bat, y me coge todo, pero efectivamente MSVC es un cacao con tanto path frente a la sencillez de Borland.

Ahora bien, MSVC va como un tiro, sí se nota el rendimiento la verdad, incluyendo los 64 bits.

Re: compilar .rc en DLL con MSVC2010

PostPosted: Wed Jul 17, 2013 8:34 am
by Antonio Linares
Lucas,

Que variables de entorno estas usando de las creadas por vcvarsall.bat ?

yo estoy accediendo al compilador asi:
"%VCINSTALLDIR%"\bin\cl

Para acceder a las librerias del SDK: (en VS2012)
echo "%WindowsSdkDir%"lib\win8\um\x86\kernel32.lib >> msvc.tmp

Y para acceder al enlazador, igual que para el compilador

Ahora estoy intentando resolver el acceso a vsstyle.h ya que tmschema.h no parece estar disponible, para construir FWH con VS2012

Re: compilar .rc en DLL con MSVC2010

PostPosted: Wed Jul 17, 2013 8:53 am
by lucasdebeltran
Esas mismas, pero con MSVC 2010.

¿Qué ventajas tiene el 2012?.

¿Y cómo has solucionado el tema del botón de Inicio en Windows 8?. A mi su desaparición me resulta bastante incordiosa la verdad.

Muchas gracias.

Re: compilar .rc en DLL con MSVC2010

PostPosted: Wed Jul 17, 2013 9:06 am
by Antonio Linares
Lucas,

Yo he usado bastante el VS2012 y su debuger a bajo nivel que es muy bueno. Supongo que habrá bastantes mejoras, pero para mi el debugger es suficiente razón para decidirme a usarlo :-)

El botón de Windows 8.1 resulta un tanto parche en su implementación, ya verás porque lo digo (la primera vez no aparece hasta que no vas al desktop). Además no les ha quedado otra que hacerlo cuadrado, porque redondo como que no les ha parecido bien. Pero bueno, para muchos será un alivio.

Yo me habia acostumbrado a usarlo sin botón y ahora me sobra :-)

Se supone que ahora se puede arrancar directamente en el desktop pero aún no he encontrado la opción. Sigue sin dejar cambiar los colores del fondo de la ventana (el blanco emite mucha radiación y supongo que con los años puede dañar la vista. Yo siempre he usado gris y aun no uso gafas :-) Asi que no me queda más que cambiarlo por el regedit. Por lo demás, no hay diferencia (es solo la versión 8.1), en el uso que le damos como programadores.

Re: compilar .rc en DLL con MSVC2010

PostPosted: Wed Jul 17, 2013 11:45 am
by Antonio Linares
Lucas,

Pues ha quedado asi de simple y fácil :-)

call "%ProgramFiles(x86)%\Microsoft Visual Studio 10.0\VC\vcvarsall.bat"
"%VCINSTALLDIR%"\bin\cl -TP -W3 -LD screen32.c /link screen32.res

Lo único que falta es generar el .res a partir del .rc Que compilador de recursos usas con VS2010 ?

screen32.c
Code: Select all  Expand view
#include <windows.h>

#ifdef __BORLANDC__
#pragma argsused
#endif

BOOL WINAPI DllEntryPoint( HINSTANCE hinstDLL, DWORD fdwReason,
                           LPVOID lpvReserved )
{
   return TRUE;
}

Re: compilar .rc en DLL con MSVC2010

PostPosted: Wed Jul 17, 2013 12:15 pm
by lucasdebeltran
Muchas gracias.

El rc de Microsoft.

Re: compilar .rc en DLL con MSVC2010

PostPosted: Wed Jul 17, 2013 12:46 pm
by Antonio Linares
Lucas,

Que versión de rc ? El que viene con vc98 ?

Como lo estarán compilando los usuarios de 2010, 2012 ? google... :-)