FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour como compilar con xHarbour para modo consola (Solucionado)
Posts: 203
Joined: Tue Oct 11, 2005 02:17 PM
como compilar con xHarbour para modo consola (Solucionado)
Posted: Wed Nov 27, 2013 12:12 PM
Hola, a ver si alguien pudiese ayudarme, he estado buscando por todas partes pero no encuentro ninguna forma de hacerlo

Estoy intentando compilar un ejemplo como el que sigue en XHARBOR, (en harbour si lo he conseguido) para que se ejecute en modo consola, pero no lo consigo.

Utilizo el HARBORX.BAT que trae
Si compilo con el flag GT=gtgui me aparece el cuadro de dialogo de Windows
// desactivando las lilbrerias de fivewin (fivehx, fiveHc), sino me sale el dialogo de Windows igualmente
Si compilo con el flag GT=gtwin no hace nada (se genera el fichero pero no muestra nada en pantalla)

Alguien podría indicarme un fichero para compilar con xharbour el ejemplo

Gracias

Code (fw): Select all Collapse
function Main()
   SETMODE(25,80)
   //@ 12,12 SAY "HOLA MUNDO"

   ALERT( "Hola Mundo" )

   //CLEAR SCREEN
  // WAIT "PULA UNA TECLA"

return nil
Posts: 1364
Joined: Wed Jun 21, 2006 12:39 AM
Re: como compilar con xHarbour para modo consola
Posted: Wed Nov 27, 2013 05:23 PM
En un tiempo hice algunas pruebas con xharbour en modo consola y utilizaba este .bat

Code (fw): Select all Collapse
if A%1 == A GOTO :SINTAX
if NOT EXIST %1.prg GOTO :NOEXIST

ECHO Compiling...

set hdir=c:\disco_d\xharbour1
set bcdir=c:\disco_d\borland\bcc55

%hdir%\bin\harbour -w3 %1 /n /i /b..\include;%hdir%\include /w /p %2 %3 > clip.log
@type clip.log
IF ERRORLEVEL 1 PAUSE
IF ERRORLEVEL 1 GOTO EXIT

echo -O2 -e%1.exe -I%hdir%\include %1.c > b32.bc
%bcdir%\bin\bcc32 -M -c -v @b32.bc
:ENDCOMPILE

IF EXIST %1.rc %bcdir%\bin\brc32 -r %1

echo c0w32.obj + > b32.bc
echo %1.obj, + >> b32.bc
echo %1.exe, + >> b32.bc
echo %1.map, + >> b32.bc
echo %hdir%\lib\rtl.lib + >> b32.bc
echo %hdir%\lib\vm.lib + >> b32.bc
echo %hdir%\lib\gtwin.lib + >> b32.bc
echo %hdir%\lib\lang.lib + >> b32.bc
echo %hdir%\lib\macro.lib + >> b32.bc
echo %hdir%\lib\rdd.lib + >> b32.bc
echo %hdir%\lib\dbfntx.lib + >> b32.bc
echo %hdir%\lib\dbfcdx.lib + >> b32.bc
echo %hdir%\lib\dbffpt.lib + >> b32.bc
echo %hdir%\lib\hbsix.lib + >> b32.bc
echo %hdir%\lib\debug.lib + >> b32.bc
echo %hdir%\lib\common.lib + >> b32.bc
echo %hdir%\lib\pp.lib + >> b32.bc
echo %hdir%\lib\pcrepos.lib + >> b32.bc
echo %hdir%\lib\hbzip.lib + >> b32.bc
echo %hdir%\lib\ct.lib + >> b32.bc
echo %hdir%\lib\tip.lib + >> b32.bc
echo %hdir%\lib\hsx.lib + >> b32.bc
echo %hdir%\lib\usrrdd.lib + >> b32.bc
echo %hdir%\lib\codepage.lib + >> b32.bc

echo %bcdir%\lib\cw32.lib + >> b32.bc
echo %bcdir%\lib\import32.lib + >> b32.bc
echo %bcdir%\lib\psdk\odbc32.lib + >> b32.bc
echo %bcdir%\lib\psdk\rasapi32.lib + >> b32.bc
echo %bcdir%\lib\psdk\nddeapi.lib + >> b32.bc
echo %bcdir%\lib\psdk\iphlpapi.lib, >> b32.bc

IF EXIST %1.res echo %1.res >> b32.bc

rem uncomment this line to use the debugger and comment the following one
rem %bcdir%\bin\ilink32 -Gn -Tpe -s -v @b32.bc
%bcdir%\bin\ilink32 -Gn -aa -Tpe -s -v @b32.bc

IF ERRORLEVEL 1 GOTO LINKERROR
ECHO * Application successfully built
%1
GOTO EXIT
ECHO

rem delete temporary files
@del %1.c

:LINKERROR
ECHO * There are errors
GOTO EXIT


Hace tiempo que no uso xHarbour y no sé si las librerias son las mismas, sería cuestión de checar. Espero te sirva
Saludos
Posts: 203
Joined: Tue Oct 11, 2005 02:17 PM
Re: como compilar con xHarbour para modo consola
Posted: Wed Nov 27, 2013 06:56 PM

Gracias por la respuesta

no funciona. el efecto es el mismo. compila y enlaza se genera un ejecutable pero no muestra nada en pantalla

Posts: 102
Joined: Fri May 09, 2008 08:19 PM
Re: como compilar con xHarbour para modo consola
Posted: Wed Nov 27, 2013 10:13 PM

Prueba este batch file para compilar :

@ECHO OFF
CLS

if A%1 == A GOTO :SINTAX
if NOT EXIST %1.prg GOTO :NOEXIST

ECHO Compiling...

set hdir=C:\xharbour
set bcdir=C:\bcc55

%hdir%\bin\harbour %1 /n /i..\include;%hdir%\include /p %2 %3 > clip.log
@type clip.log
IF ERRORLEVEL 1 PAUSE
IF ERRORLEVEL 1 GOTO EXIT

echo -O2 -e%1.exe -I%hdir%\include %1.c > b32.bc
%bcdir%\bin\bcc32 -M -c @b32.bc
:ENDCOMPILE

IF EXIST %1.rc %bcdir%\bin\brc32 -r %1
REM echo c0x32.obj + > b32.bc
echo c0x32.obj + > b32.bc
echo %1.obj, + >> b32.bc
echo %1.exe, + >> b32.bc
echo %1.map, + >> b32.bc
echo %hdir%\lib\rtl.lib + >> b32.bc
echo %hdir%\lib\hsx.lib + >> b32.bc
echo %hdir%\lib\hbsix.lib + >> b32.bc
echo %hdir%\lib\rtl.lib + >> b32.bc
echo %hdir%\lib\vm.lib + >> b32.bc
echo %hdir%\lib\rtl.lib + >> b32.bc
echo %hdir%\lib\gtwin.lib + >> b32.bc
echo %hdir%\lib\Lang.lib + >> b32.bc
echo %hdir%\lib\macro.lib + >> b32.bc
echo %hdir%\lib\rdd.lib + >> b32.bc
echo %hdir%\lib\dbfntx.lib + >> b32.bc
echo %hdir%\lib\dbfcdx.lib + >> b32.bc
echo %hdir%\lib\common.lib + >> b32.bc
echo %hdir%\lib\CodePage.lib + >> b32.bc
echo %hdir%\lib\DbfFpt.lib + >> b32.bc
echo %hdir%\lib\pcrepos.lib + >> b32.bc

rem Uncomment these two lines to use Advantage RDD
rem echo %hdir%\lib\rddads.lib + >> b32.bc
rem echo %hdir%\lib\ace32.lib + >> b32.bc

echo %bcdir%\lib\cw32.lib + >> b32.bc
echo %bcdir%\lib\import32.lib, >> b32.bc

ECHO *
ECHO Linking...
%bcdir%\bin\ilink32 -Gn -Tpe -s @b32.bc

rem delete temporary files
rem @del %1.c

IF ERRORLEVEL 1 GOTO LINKERROR
ECHO * Application successfully built
GOTO EXIT
ECHO

:LINKERROR
rem PAUSE * 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

Posts: 1380
Joined: Fri Oct 14, 2005 01:28 PM
Re: como compilar con xHarbour para modo consola
Posted: Thu Nov 28, 2013 01:42 AM
miarcod;
fijate en tu batch, busca:
gtgui.lib, y reemplazalo por gtwin.lib

si mal no recuerdo es todo lo que necesitas
Resistencia - "Ciudad de las Esculturas"

Chaco - Argentina
Posts: 42
Joined: Mon Jan 17, 2011 03:44 PM
Re: como compilar con xHarbour para modo consola
Posted: Thu Nov 28, 2013 03:10 AM
Yo compilaba así:
Code (fw): Select all Collapse
***************************
 PROCEDURE Popemenu()
.
.
.
.
Return

Procedure Main()

request hb_gt_win
SetMode (30, 80)
   Application:cTitle := "popemenu"
   popemenu()
   Application:Run()

Return


No tengo el detalle a la mano, estoy en otra ciudad, si no te ayuda antes del sabado que regreso, me avisas para buscar y pasarte el detalle completo.

Saludos
Posts: 203
Joined: Tue Oct 11, 2005 02:17 PM
Re: como compilar con xHarbour para modo consola
Posted: Thu Nov 28, 2013 02:53 PM

Al final lo solucioné poniendo en la primera línea de la función main

Request hb_gt_win

Gracias a todos

Continue the discussion