como compilar con xHarbour para modo consola (Solucionado)

Post Reply
miarcod
Posts: 172
Joined: Tue Oct 11, 2005 2:17 pm

como compilar con xHarbour para modo consola (Solucionado)

Post by miarcod »

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: Select all

function Main()
   SETMODE(25,80)
   //@ 12,12 SAY "HOLA MUNDO"

   ALERT( "Hola Mundo" )

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

return nil
Last edited by miarcod on Thu Nov 28, 2013 3:23 pm, edited 1 time in total.
horacio
Posts: 1270
Joined: Wed Jun 21, 2006 12:39 am
Location: Capital Federal Argentina

Re: como compilar con xHarbour para modo consola

Post by horacio »

En un tiempo hice algunas pruebas con xharbour en modo consola y utilizaba este .bat

Code: Select all

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
miarcod
Posts: 172
Joined: Tue Oct 11, 2005 2:17 pm

Re: como compilar con xHarbour para modo consola

Post by miarcod »

Gracias por la respuesta

no funciona. el efecto es el mismo. compila y enlaza se genera un ejecutable pero no muestra nada en pantalla
juan fco. vasquez Mendoza
Posts: 84
Joined: Fri May 09, 2008 8:19 pm

Re: como compilar con xHarbour para modo consola

Post by juan fco. vasquez Mendoza »

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
User avatar
MarioG
Posts: 1356
Joined: Fri Oct 14, 2005 1:28 pm
Location: Resistencia - Chaco - AR

Re: como compilar con xHarbour para modo consola

Post by MarioG »

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
ltorres
Posts: 42
Joined: Mon Jan 17, 2011 3:44 pm
Location: Lima - Peru

Re: como compilar con xHarbour para modo consola

Post by ltorres »

Yo compilaba así:

Code: Select all

***************************
 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
miarcod
Posts: 172
Joined: Tue Oct 11, 2005 2:17 pm

Re: como compilar con xHarbour para modo consola

Post by miarcod »

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

Request hb_gt_win


Gracias a todos
Post Reply