Page 1 of 1
como compilar con xHarbour para modo consola (Solucionado)
Posted: Wed Nov 27, 2013 12:12 pm
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
Re: como compilar con xHarbour para modo consola
Posted: Wed Nov 27, 2013 5:23 pm
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
Re: como compilar con xHarbour para modo consola
Posted: Wed Nov 27, 2013 6:56 pm
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
Re: como compilar con xHarbour para modo consola
Posted: Wed Nov 27, 2013 10:13 pm
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
Re: como compilar con xHarbour para modo consola
Posted: Thu Nov 28, 2013 1:42 am
by MarioG
miarcod;
fijate en tu batch, busca:
gtgui.lib, y reemplazalo por gtwin.lib
si mal no recuerdo es todo lo que necesitas
Re: como compilar con xHarbour para modo consola
Posted: Thu Nov 28, 2013 3:10 am
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
Re: como compilar con xHarbour para modo consola
Posted: Thu Nov 28, 2013 2:53 pm
by miarcod
Al final lo solucioné poniendo en la primera línea de la función main
Request hb_gt_win
Gracias a todos