Migrando de FWH 32 a FWH 64 - windows.h
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
Re: Migrando de FWH 32 a FWH 64 - windows.h
Paz,
Tienes que usar:
1 24 "WinXP/WindowsXP.Manifest64"
ojo que no es el mismo fichero que para 32 bits
Tienes que usar:
1 24 "WinXP/WindowsXP.Manifest64"
ojo que no es el mismo fichero que para 32 bits
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
Re: Migrando de FWH 32 a FWH 64 - windows.h
Esas definiciones de BITMAP son propias de Borland.
Teneis que cambiar esas líneas por su equivalente:
Crcla BITMAP "Crcla.bmp"
Teneis que cambiar esas líneas por su equivalente:
Crcla BITMAP "Crcla.bmp"
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
Re: Migrando de FWH 32 a FWH 64 - windows.h
Si pruebas a hacer desde FWH\samples:
build64.bat juan
verás que se construye bien y usa el mismo formato de GROUPBOX.
Prueba a cambiar
IDC_GROUPBOX44
por -1
build64.bat juan
verás que se construye bien y usa el mismo formato de GROUPBOX.
Prueba a cambiar
IDC_GROUPBOX44
por -1
Re: Migrando de FWH 32 a FWH 64 - windows.h
Antonio,
Como en 64 Bits hay que compilar con MSVC++ y nos da algunos errores que creo que tienen que ver con las librerias para inet, estamos intentando primero compilar en 32 bits con MSVC++ en vez de con BCC582 para ir depurando el proceso y tener un solo compilador para 32 bis y 64 bits.
Para ellos hemos instalado MSVC++10.0, hemos adaptado el .bat que viene en samples pero al intentar compilar y lincar nos dice que c:\harbour\lib\hbrtl.lib: fatal error lnk1136: Archivo no válido o dañado.
¿Se puede compilar y enlazar con MSVC++10.0 y Harbour + FWH de diciembre?.
Copio la modificación del .bat para generar la aplicación:
Como en 64 Bits hay que compilar con MSVC++ y nos da algunos errores que creo que tienen que ver con las librerias para inet, estamos intentando primero compilar en 32 bits con MSVC++ en vez de con BCC582 para ir depurando el proceso y tener un solo compilador para 32 bis y 64 bits.
Para ellos hemos instalado MSVC++10.0, hemos adaptado el .bat que viene en samples pero al intentar compilar y lincar nos dice que c:\harbour\lib\hbrtl.lib: fatal error lnk1136: Archivo no válido o dañado.
¿Se puede compilar y enlazar con MSVC++10.0 y Harbour + FWH de diciembre?.
Copio la modificación del .bat para generar la aplicación:
Code: Select all
@ECHO OFF
CLS
ECHO ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
ECHO ³ FiveWin for Harbour 14.12(MSVC++ 10.0) Dec. 2014 Harbour development power ³Ü
ECHO ³ (c) FiveTech, 1993-2014 for Microsoft Windows 9X/NT/200X/ME/XP/Vista/7/8 ³Û
ECHO ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙÛ
ECHO ÿ ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß
if A%1 == A GOTO :SINTAX
if NOT EXIST %1.prg GOTO :NOEXIST
set oldpath=%path%
set oldinclude=%include%
set oldlib=%lib%
set oldlibpath=%libpath%
if exist "%ProgramFiles%\Microsoft Visual Studio 10.0\VC\vcvarsall.bat" call "%ProgramFiles%\Microsoft
Visual Studio 10.0\VC\vcvarsall.bat"
if exist "%ProgramFiles(x86)%\Microsoft Visual Studio 10.0\VC\vcvarsall.bat" call "%ProgramFiles
(x86)%\Microsoft Visual Studio 10.0\VC\vcvarsall.bat"
if "%FWDIR%" == "" set FWDIR=.\..
if "%HBDIR%" == "" set HBDIR=c:\harbour
ECHO Compiling...
@set fwh=%FWDIR%
@set hdir=%HBDIR%
@set hdirl=%hdir%\lib
%hdir%\bin\harbour %1 /n /i%fwh%\include;%hdir%\include /w /p %2 %3 > comp.log 2> warnings.log
IF ERRORLEVEL 1 GOTO COMPILEERROR
@type comp.log
@type warnings.log
"%VCINSTALLDIR%"bin\cl -TP -W3 -c /GS- /I%hdir%\include /GA %1.c
:ENDCOMPILE
IF EXIST %1.rc IF EXIST "%VCINSTALLDIR%"bin\rc "%VCINSTALLDIR%"bin\rc -r -d__FLAT__ %1
IF EXIST %1.rc IF NOT EXIST %1.res rc -r -d__FLAT__ %1
echo %1.obj > msvc.tmp
echo %fwh%\lib\FiveH32.lib %fwh%\lib\FiveHC32.lib >> msvc.tmp
echo %hdirl%\hbrtl.lib >> msvc.tmp
echo %hdirl%\hbvm.lib >> msvc.tmp
echo %hdirl%\gtgui.lib >> msvc.tmp
echo %hdirl%\hblang.lib >> msvc.tmp
echo %hdirl%\hbmacro.lib >> msvc.tmp
echo %hdirl%\hbrdd.lib >> msvc.tmp
echo %hdirl%\rddntx.lib >> msvc.tmp
echo %hdirl%\rddcdx.lib >> msvc.tmp
echo %hdirl%\rddfpt.lib >> msvc.tmp
echo %hdirl%\hbsix.lib >> msvc.tmp
echo %hdirl%\hbdebug.lib >> msvc.tmp
echo %hdirl%\hbcommon.lib >> msvc.tmp
echo %hdirl%\hbpp.lib >> msvc.tmp
echo %hdirl%\hbcpage.lib >> msvc.tmp
echo %hdirl%\hbwin.lib >> msvc.tmp
echo %hdirl%\hbcplr.lib >> msvc.tmp
echo %hdirl%\hbpcre.lib >> msvc.tmp
echo %hdirl%\hbct.lib >> msvc.tmp
echo %hdirl%\xhb.lib >> msvc.tmp
echo %hdirl%\png.lib >> msvc.tmp
echo %hdirl%\hbzlib.lib >> msvc.tmp
rem Uncomment these two lines to use Advantage RDD
rem echo %hdirl%\rddads.lib >> msvc.tmp
rem echo %hdirl%\ace32.lib >> msvc.tmp
echo kernel32.lib >> msvc.tmp
echo user32.lib >> msvc.tmp
echo gdi32.lib >> msvc.tmp
echo winspool.lib >> msvc.tmp
echo comctl32.lib >> msvc.tmp
echo comdlg32.lib >> msvc.tmp
echo advapi32.lib >> msvc.tmp
echo shell32.lib >> msvc.tmp
echo ole32.lib >> msvc.tmp
echo oleaut32.lib >> msvc.tmp
echo uuid.lib >> msvc.tmp
echo odbc32.lib >> msvc.tmp
echo odbccp32.lib >> msvc.tmp
echo iphlpapi.lib >> msvc.tmp
echo mpr.lib >> msvc.tmp
echo version.lib >> msvc.tmp
echo wsock32.lib >> msvc.tmp
echo msimg32.lib >> msvc.tmp
echo oledlg.lib >> msvc.tmp
echo psapi.lib >> msvc.tmp
echo gdiplus.lib >> msvc.tmp
echo winmm.lib >> msvc.tmp
IF EXIST %1.res echo %1.res >> msvc.tmp
"%VCINSTALLDIR%"bin\link @msvc.tmp /nologo /subsystem:windows /NODEFAULTLIB:msvcrt
IF ERRORLEVEL 1 GOTO LINKERROR
ECHO * Application successfully built *
@set path=%oldpath%
@set include=%oldinclude%
@set lib=%oldlib%
@set libpath=%oldlibpath%
@set oldpath=""
@set oldinclude=""
@set oldlib=""
@set oldlibpath=""
%1
GOTO EXIT
ECHO
rem delete temporary files
@del %1.c
@del msvc.tmp
:COMPILEERROR
@type comp.log
@type warnings.log
ECHO * Compiling errors *
GOTO EXIT
:LINKERROR
ECHO * Linking errors *
GOTO EXIT
:SINTAX
ECHO SYNTAX: Build [Program] {-- No especifiques la extensi¢n PRG
ECHO {-- Don't specify .PRG extension
GOTO EXIT
:NOEXIST
ECHO The specified PRG %1 does not exist
:EXIT
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
Re: Migrando de FWH 32 a FWH 64 - windows.h
Paz,
c:\harbour\lib\hbrtl.lib es para Borland ó para MSVC ?
No son compatibles y tienes que instalar las librerias correctas:
https://bitbucket.org/fivetech/harbour- ... 141218.zip
Esas librerías estan construidas con VSC (Visual Studio Community) asi que deberías usar VSC en vez de MSVC++10.0
Por que quereis usar esa versión ya tan antigua ?
c:\harbour\lib\hbrtl.lib es para Borland ó para MSVC ?
No son compatibles y tienes que instalar las librerias correctas:
https://bitbucket.org/fivetech/harbour- ... 141218.zip
Esas librerías estan construidas con VSC (Visual Studio Community) asi que deberías usar VSC en vez de MSVC++10.0
Por que quereis usar esa versión ya tan antigua ?
Re: Migrando de FWH 32 a FWH 64 - windows.h
Antonio,
La cuestión es que tenemos las aplicaciones corriendo tanto en ordenadores con XP a 32 bits como con ordenadores con W7 (con las aplicaciones corriendo también a 32 bits aunque los W7 sean de 64 bits). Todas Compiladas con Borland 282 + xHarbour.
La semana pasada las hemos pasado a Harbour, la verdad que mucho más rápido de los esperado porque realmente el tiempo invertido para el paso a Harbour no nos ha llevado más de 8 o 10 horas de trabajo efectivo. (Cuando tengamos comprobado del todo que las aplicaciones van bien y no hacen falta más adaptaciones, tengo intención de recopilar _ en un post y ponerlo a disposición de todos).
De modo que, ahora mismo, ya estamos en FWH Dic 2014 + Harbour Dic 2014 + BCC582 y solo pendientes de conseguir el paso a los 64 bits con la versión de FWH 14.7 (rev 2). Para lo cual es necesario compilar con MSVC.
Community no se instala ni en XP ni en W7 (aunque W7 sea de 64 bits) con lo que no lo podemos probar. No tenemos ninguna instalación en W8 ni W8.1 porque no las quieren instalar los usuarios y lo entiendo porque la gente no quiere invertir tiempo y recursos en _ cuando con el W7 ya les va muy bien.
En consecuencia, para intentar compilar en 64 bits, como hay que hacerlo necesariamente con Visual Studio, y dado que Community no se instala tenemos que intentarlo con MSVC++ 12.0 con update 4 y además que la compilación pueda generar los exe tanto para 32 bits como para 64 bits.
Lo de instalar el MSVC 10 era para intentar conseguir compilar en versiones de MSVC anteriores e ir tratando de adaptarnos a las nuevas. Pero no hay forma porque las versiones que tenemos de Harbour son para Community y no para MSVC 12.0 ni para MSVC 10.0 y dan errores en el link.
La cuestión es que tenemos las aplicaciones corriendo tanto en ordenadores con XP a 32 bits como con ordenadores con W7 (con las aplicaciones corriendo también a 32 bits aunque los W7 sean de 64 bits). Todas Compiladas con Borland 282 + xHarbour.
La semana pasada las hemos pasado a Harbour, la verdad que mucho más rápido de los esperado porque realmente el tiempo invertido para el paso a Harbour no nos ha llevado más de 8 o 10 horas de trabajo efectivo. (Cuando tengamos comprobado del todo que las aplicaciones van bien y no hacen falta más adaptaciones, tengo intención de recopilar _ en un post y ponerlo a disposición de todos).
De modo que, ahora mismo, ya estamos en FWH Dic 2014 + Harbour Dic 2014 + BCC582 y solo pendientes de conseguir el paso a los 64 bits con la versión de FWH 14.7 (rev 2). Para lo cual es necesario compilar con MSVC.
Community no se instala ni en XP ni en W7 (aunque W7 sea de 64 bits) con lo que no lo podemos probar. No tenemos ninguna instalación en W8 ni W8.1 porque no las quieren instalar los usuarios y lo entiendo porque la gente no quiere invertir tiempo y recursos en _ cuando con el W7 ya les va muy bien.
En consecuencia, para intentar compilar en 64 bits, como hay que hacerlo necesariamente con Visual Studio, y dado que Community no se instala tenemos que intentarlo con MSVC++ 12.0 con update 4 y además que la compilación pueda generar los exe tanto para 32 bits como para 64 bits.
Lo de instalar el MSVC 10 era para intentar conseguir compilar en versiones de MSVC anteriores e ir tratando de adaptarnos a las nuevas. Pero no hay forma porque las versiones que tenemos de Harbour son para Community y no para MSVC 12.0 ni para MSVC 10.0 y dan errores en el link.
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
Re: Migrando de FWH 32 a FWH 64 - windows.h
Paz,
Podeis instalar el Visual Studio Express 2013 que es totalmente compatible y que debería instalarse sin problema en todas las versiones de Windows
http://www.visualstudio.com/en-us/produ ... ss-vs.aspx
En base a mis pruebas, es totalmente compatible con VSC, por lo que os debería funcionar bien
Podeis instalar el Visual Studio Express 2013 que es totalmente compatible y que debería instalarse sin problema en todas las versiones de Windows
http://www.visualstudio.com/en-us/produ ... ss-vs.aspx
En base a mis pruebas, es totalmente compatible con VSC, por lo que os debería funcionar bien
Re: Migrando de FWH 32 a FWH 64 - windows.h
Antonio,
En XP no se instala. He descargado el exe que se obtiene pulsando en el botón de la página web que indicas, en concreto en el que dice:
que descarga el archivo vs_community.exe de 1,2MB (que será un instalador) pero al arrancar se para diciendo que se necesita una versión más reciente de windows.
Más tarde lo intentaré en un equipo con W7 ultimate 64 bits a ver si deja instalarlo, porque el que se obtiene pinchando en esa misma web en el botón:
no nos ha dejado instalarlo en ese mismo ordenador con W7 64bits ultimate.
En XP no se instala. He descargado el exe que se obtiene pulsando en el botón de la página web que indicas, en concreto en el que dice:
que descarga el archivo vs_community.exe de 1,2MB (que será un instalador) pero al arrancar se para diciendo que se necesita una versión más reciente de windows.
Más tarde lo intentaré en un equipo con W7 ultimate 64 bits a ver si deja instalarlo, porque el que se obtiene pinchando en esa misma web en el botón:
no nos ha dejado instalarlo en ese mismo ordenador con W7 64bits ultimate.
Re: Migrando de FWH 32 a FWH 64 - windows.h
Hemos intentado instalar vs_community en W7 Ultimate 64 bits y tampoco deja instalarlo porque dice que necesita un sistema operativo más nuevo.
http://www.visualstudio.com/products/vi ... ibility-vs
Creo que como no se pueda hacer con MSVC++ 2012 no va a haber forma de probar a pasar de 32 bits a 64 como no sea instalando el W8.
http://www.visualstudio.com/products/vi ... ibility-vs
Creo que como no se pueda hacer con MSVC++ 2012 no va a haber forma de probar a pasar de 32 bits a 64 como no sea instalando el W8.
Re: Migrando de FWH 32 a FWH 64 - windows.h
Hola, comprueba si tienes instalado el service pack 1 de windows 7, a mi no me lo permitía instalar en un Siete Profesional hasta que lo actualicé.
La versión que tengo instalada es la Visual Studio Express 2013 y he conseguido crear un ejecutable de mi programa con FWH64 14.02.
Un saludo.
La versión que tengo instalada es la Visual Studio Express 2013 y he conseguido crear un ejecutable de mi programa con FWH64 14.02.
Un saludo.
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
Re: Migrando de FWH 32 a FWH 64 - windows.h
Paz,
te agradezco si intentas con el MSVC++ 2012.
Asi sabremos si Microsoft ya está en plan Apple forzando a la gente a migrar...
No estoy para nada de acuerdo con esa política de obligar a los usuarios a cambiar de versión de sistema operativo
Pero bueno, es lo que hay y es bueno conocer las restricciones que han puesto.
Gracias por tu valiosa información
te agradezco si intentas con el MSVC++ 2012.
Asi sabremos si Microsoft ya está en plan Apple forzando a la gente a migrar...
No estoy para nada de acuerdo con esa política de obligar a los usuarios a cambiar de versión de sistema operativo
Pero bueno, es lo que hay y es bueno conocer las restricciones que han puesto.
Gracias por tu valiosa información
Re: Migrando de FWH 32 a FWH 64 - windows.h
Antonio,
Para conseguir instalar el Visual Studio Community he tenido que instalar en Windows 7 Ultimate 64 Bits el SP1.
Se descarga del propio Microsoft:
http://www.microsoft.com/es-es/download ... px?id=5842
y descargar el firchero: windows6.1-KB976932-X64.exe
En cuanto tenga un rato me pongo a intentar la compilación de las aplicaciones.
Para conseguir instalar el Visual Studio Community he tenido que instalar en Windows 7 Ultimate 64 Bits el SP1.
Se descarga del propio Microsoft:
http://www.microsoft.com/es-es/download ... px?id=5842
y descargar el firchero: windows6.1-KB976932-X64.exe
En cuanto tenga un rato me pongo a intentar la compilación de las aplicaciones.
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
Re: Migrando de FWH 32 a FWH 64 - windows.h
Paz,
Muy bien!
Gracias por tus indicaciones
Muy bien!
Gracias por tus indicaciones
Re: Migrando de FWH 32 a FWH 64 - windows.h
Antonio,
La solución para la instalación de community en W7 comentada en mi último post no funciona en ordenadores con la versión Home aunque tengan instalado el SP1.
Hay que tener en cuenta que una gran cantidad de equipos vienen con esa versión instalada pues lo traen instalado de fábrica, como los portátiles.
Debido a esto no puedo probar a generar la aplicación en 64 bits con Community.
Para probar a generar la aplicación en 64 bits con MSVC 2012 necesito saber si puedo utilizar la versión de FWH-64 que tengo de mayo del 2014 (que creo que está construida para Community) o si por el contrario es necesario tener construida FWH 64 para esa versión de MSVC 2012.
Y también, si en todo caso, por no depender de las veleidades de MSVC, es posible generar la aplicación en 64 bits con el compilador gcc o algún otro. Teniendo en cuenta que necesitamos usar las librerías wininet.lib y ws2_32.lib, que por ejemplo MSVC 10, BCC582 y BCC63 o PellesC si que traen.
La solución para la instalación de community en W7 comentada en mi último post no funciona en ordenadores con la versión Home aunque tengan instalado el SP1.
Hay que tener en cuenta que una gran cantidad de equipos vienen con esa versión instalada pues lo traen instalado de fábrica, como los portátiles.
Debido a esto no puedo probar a generar la aplicación en 64 bits con Community.
Para probar a generar la aplicación en 64 bits con MSVC 2012 necesito saber si puedo utilizar la versión de FWH-64 que tengo de mayo del 2014 (que creo que está construida para Community) o si por el contrario es necesario tener construida FWH 64 para esa versión de MSVC 2012.
Y también, si en todo caso, por no depender de las veleidades de MSVC, es posible generar la aplicación en 64 bits con el compilador gcc o algún otro. Teniendo en cuenta que necesitamos usar las librerías wininet.lib y ws2_32.lib, que por ejemplo MSVC 10, BCC582 y BCC63 o PellesC si que traen.
Re: Migrando de FWH 32 a FWH 64 - windows.h
C. Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
Si alguien te dice que algo no se puede hacer, recuerda que esta hablando de sus limitaciones, no de las tuyas.
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
Si alguien te dice que algo no se puede hacer, recuerda que esta hablando de sus limitaciones, no de las tuyas.