Migrando de FWH 32 a FWH 64 - windows.h

Re: Migrando de FWH 32 a FWH 64 - windows.h

Postby Antonio Linares » Wed Dec 24, 2014 5:08 pm

Paz,

Tienes que usar:

1 24 "WinXP/WindowsXP.Manifest64"

ojo que no es el mismo fichero que para 32 bits
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 41366
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: Migrando de FWH 32 a FWH 64 - windows.h

Postby Antonio Linares » Wed Dec 24, 2014 5:10 pm

Esas definiciones de BITMAP son propias de Borland.

Teneis que cambiar esas líneas por su equivalente:

Crcla BITMAP "Crcla.bmp"
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 41366
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: Migrando de FWH 32 a FWH 64 - windows.h

Postby Antonio Linares » Wed Dec 24, 2014 5:14 pm

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
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 41366
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: Migrando de FWH 32 a FWH 64 - windows.h

Postby Verhoven » Sat Dec 27, 2014 11:40 am

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:
Code: Select all  Expand view
@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
Verhoven
 
Posts: 505
Joined: Sun Oct 09, 2005 7:23 pm

Re: Migrando de FWH 32 a FWH 64 - windows.h

Postby Antonio Linares » Sun Dec 28, 2014 10:00 am

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-xharbour-builds/downloads/harbour_3.2_32bits_VSC_20141218.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 ?
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 41366
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: Migrando de FWH 32 a FWH 64 - windows.h

Postby Verhoven » Sun Dec 28, 2014 11:53 am

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 los cambios 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 esos cambios 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.
Verhoven
 
Posts: 505
Joined: Sun Oct 09, 2005 7:23 pm

Re: Migrando de FWH 32 a FWH 64 - windows.h

Postby Antonio Linares » Sun Dec 28, 2014 1:52 pm

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/products/visual-studio-express-vs.aspx

En base a mis pruebas, es totalmente compatible con VSC, por lo que os debería funcionar bien :-)
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 41366
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: Migrando de FWH 32 a FWH 64 - windows.h

Postby Verhoven » Sun Dec 28, 2014 6:12 pm

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:
Image
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:
Image no nos ha dejado instalarlo en ese mismo ordenador con W7 64bits ultimate.
Verhoven
 
Posts: 505
Joined: Sun Oct 09, 2005 7:23 pm

Re: Migrando de FWH 32 a FWH 64 - windows.h

Postby Verhoven » Mon Dec 29, 2014 7:17 pm

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/visual-studio-2013-compatibility-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.
Verhoven
 
Posts: 505
Joined: Sun Oct 09, 2005 7:23 pm

Re: Migrando de FWH 32 a FWH 64 - windows.h

Postby gmart1 » Mon Dec 29, 2014 7:57 pm

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.
gmart1
 
Posts: 80
Joined: Wed Oct 24, 2007 12:48 pm
Location: Alhaurin de la Torre (MALAGA)

Re: Migrando de FWH 32 a FWH 64 - windows.h

Postby Antonio Linares » Mon Dec 29, 2014 7:59 pm

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 :-)
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 41366
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: Migrando de FWH 32 a FWH 64 - windows.h

Postby Verhoven » Tue Dec 30, 2014 5:51 pm

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/details.aspx?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.
Verhoven
 
Posts: 505
Joined: Sun Oct 09, 2005 7:23 pm

Re: Migrando de FWH 32 a FWH 64 - windows.h

Postby Antonio Linares » Tue Dec 30, 2014 6:04 pm

Paz,

Muy bien! :-)

Gracias por tus indicaciones
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 41366
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: Migrando de FWH 32 a FWH 64 - windows.h

Postby Verhoven » Thu Jan 01, 2015 10:36 pm

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. :evil:

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.
Verhoven
 
Posts: 505
Joined: Sun Oct 09, 2005 7:23 pm

Re: Migrando de FWH 32 a FWH 64 - windows.h

Postby cnavarro » Thu Jan 01, 2015 11:55 pm

Yo lo he instalado en Home Premium

Image
Cristobal Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
User avatar
cnavarro
 
Posts: 6501
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

PreviousNext

Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Willi Quintana and 61 guests