Page 1 of 2
Compilar modo consola (Es Urgente)
![Post Post](./styles/prosilver/imageset/icon_post_target.gif)
Posted:
Wed Sep 12, 2012 10:54 am
by Pedro
Hola a todos
A ver si me tiráis una manita. Quiero compilar un programa viejo de clipper5 (que ya compilé hace un año en modo consola) pero al modificarse el iva tengo que modificarlo y recompilarlo. He consultado el problema que me generó la otra vez y he realizado los pasos que tenía anotado, pero ahora me da un error que antes no me daba.
El error que me da es el siguiente :
Error: Unresolved external '_HB_FUN_HB_GT_WIN' referenced from
C:\XHARBOUR\LIB\VM.LIB|mainstd
Uso verce para compilar , si tenéis un fichero para poder compilar en modo consola o los verce(X).dat modificados os lo agradecería
Re: Compilar modo consola
![Post Post](./styles/prosilver/imageset/icon_post_target.gif)
Posted:
Wed Sep 12, 2012 12:22 pm
by Carlos Mora
Hola Pedro,
en tu firma no veo que compilador usas, ni que versión. Por lo visto tiene pinta de que la vez anterior compilaste con una versión bastante antigua, que no tiene los mismos módulos de terminal (GT).
No manejo verce, pero tiene pinta que te falta la lib hb-win o algo así
Usando Harbour 2.1 uso las siguientes lib/objs en el enlazado
xhb.lib
hbrtl.lib
hbvm.lib
gtwin.lib
hblang.lib
hbmacro.lib
libmysql.lib
hbwin.lib
hbcommon.lib
hbpp.lib
hbcpage.lib
hbrdd.lib
rddntx.lib
rddcdx.lib
rddfpt.lib
hbsix.lib
hbole.lib
c0w32.obj
psdk\odbc32.lib
psdk\msimg32.lib
cw32.lib
import32.lib
wininet.lib
a ver si te sirve de referencia
Un saludo
Re: Compilar modo consola
![Post Post](./styles/prosilver/imageset/icon_post_target.gif)
Posted:
Wed Sep 12, 2012 2:07 pm
by Pedro
Hola Carlos
El compilador que uso habitualmente es xHarbour, y es el mismo que viene con la distribución de Fivewin, lo que no me había dado cuenta es que utilicé el mismo ( el 12.01 )
que estoy utilizando ahora, (antes lo utilicé en marzo de este año) y no tuve el problema que se me ha planteado en esta ocasión, el problema de la vez anterior se solucionó cambiando el obj cow32.obj por cox32.obj, pero en esta ocasión no sé porque me dice que no encuentra esa función.
Gracias de todas formas, Carlos
Re: Compilar modo consola (Es Urgente)
![Post Post](./styles/prosilver/imageset/icon_post_target.gif)
Posted:
Sat Sep 15, 2012 10:11 am
by Pedro
Por favor es urgente, necesito saber por qué no me encuentra esa función para terminar de compilar y enlazar el programa, el cliente me lo reclama ya con urgencia y por más que hago no salgo de ese error.
Re: Compilar modo consola (Es Urgente)
![Post Post](./styles/prosilver/imageset/icon_post_target.gif)
Posted:
Sat Sep 15, 2012 12:15 pm
by Antonio Linares
Pedro,
En FWH\samples tienes build.bat que sirve para construir aplicaciones en modo consola.
Acabo de probarlo y funciona bien
![Smile :-)](./images/smilies/icon_smile.gif)
Re: Compilar modo consola (Es Urgente)
![Post Post](./styles/prosilver/imageset/icon_post_target.gif)
Posted:
Mon Sep 17, 2012 9:14 am
by Pedro
Estimado Antonio
Dado que no es un prg, sino 34 prgs los que tengo que compilar, usé el bormake que viene en la carpeta make, después de cambiar lo necesario para compilar y algunos errores solucionados, (no sabía como poner todos los obj en varias filas, asi que no tuve más remedio que ponerlos todos en una) se compiló el programa, PEROOOOOOO
no logro que el programa salga en pantalla, lo veo como proceso, pero sin salir en ninguna ventana.
¿alguna solución a esto?
Muchas gracias
Re: Compilar modo consola (Es Urgente)
![Post Post](./styles/prosilver/imageset/icon_post_target.gif)
Posted:
Mon Sep 17, 2012 7:19 pm
by compubrion
Saludos !
Pedro, te recque uses el hbmk2 para compilar, desde la consola, solo debes ajustar el path para que no tengas lios
Si usas hb + borland
desde la consola
set path=UNIDAD:\HARBOUR\BIN;UNIDAD:\BCC582\BIN
LUEGO hbmk2 -compiler=bcc aplication.hbp
te creas un archivo para compilar
Elej aplication.hbp
Con el siguiente contenido
#
# Archivo Make
#
-n -q0 -static
#Si necesitas buscar fichesros .ch ó .lib las colocas
-Itupath\include
-Ltupath\lib
# Las lib que necesites
-ltulib1 -ltulib2 etc...
# con -o Asignas el nombre al .exe
-oAplication.exe
#Supongamos que tines los funetes en .\Aplication\Source entonces añadimos los .prg a compilar
./source/Modulo1
./source/Modulo2
./source/Modulo3
./source/Modulo4
Re: Compilar modo consola (Es Urgente)
![Post Post](./styles/prosilver/imageset/icon_post_target.gif)
Posted:
Mon Sep 17, 2012 8:27 pm
by Antonio Linares
Pedro,
No uses #include "FiveWin.ch" y llama a ? "Hola" como prueba
Re: Compilar modo consola (Es Urgente)
![Post Post](./styles/prosilver/imageset/icon_post_target.gif)
Posted:
Tue Sep 18, 2012 9:00 am
by Pedro
Estimado Antonio
No uso el include fivewin.ch, esto es un programa de clipper5 (ms-dos) compilado originalmente con blinker. que ya fue compilado a primeros de año con verce y fivewin para modo consola, y que ahora no sé por qué motivo me da el error que no encuentra hb_fun_gt_win.
Esto es el inicio del primer prg de la aplicación
- Code: Select all Expand view
#include "INKEY.CH"
#include "SETCURS.CH"
FUNCTION Main
LOCAL aClrCol[6],aClrMon[6]
LOCAL cColor := SetColor( 'N/W,W+/W' )
Local nCol
Local nCont
Local cCodigo
Local cPant
Public membrete,aClr[7],xArea,zArea,cDirect,nCodEmp,cFichero
Public cEmpresa ,cPoblacion,aEmpresa[0]
* --------------Comprueba si el monitor el color o mono----------------------
* colores (normal,inverso,borde,fondo,no select)
* colores(letra/fondo)
aClrCol[1] := "B/BG,W+/RB+" //cPant *
aClrCol[2] := "BG/B,W+/R" //ventana *
aClrCol[3] := "BG+/B,W+/BG" //cdialog *
aClrCol[4] := "W+/R,W+/BG" //calert *
aClrCol[5] := "gr+/B,W+/R" //cven *
aClrCol[6] := "W+/RB+,RG+/B" //consult *
aClrMon[1] := "N/W,W+/N" // "W/N,N/W"
aClrMon[2] := "N/W,W+/N" // "W/N,N/W"
aClrMon[3] := "N/W,W+/N" // "N/W,W/N"
aClrMon[4] := "N/W,W+/N" // "W/N,N/W"
aClrMon[5] := 'N/W,W+/N' // 'N/W,W/N'
aClrMon[6] := 'N/W,W+/N' // 'w/n,n/w'
if Iscolor()
aClr := Aclone(aClrCol)
else
aClr := Aclone(aClrMon)
endif
* ---------------------------------------------------------------------------
Set bell off
Set century on
Set date ITALIAN
Set dele on
Set talk off
Set( _SET_WRAP , .T. )
Set( _SET_SCOREBOARD, .F. )
Set confirm off
Set exclusive off
SETMODE(25,80)
*------------------------------------------------------------------------------
While .t.
Scroll(0,0,24,79,25)
CajaConc(0,0,24,79,"BG")
EligeArea()
If nCodEmp == 0
exit
EndIf
Set Path to (xArea)
dbCloseAll()
Inicio()
EndDo
set default to
setcolor(cColor)
dbCloseAll()
cls
__quit()
Y este es el make que uso para compilar
#Borland make sample, (c) FiveTech Software 2005-2009
HBDIR=c:\harbour
BCDIR=c:\bcc582
FWDIR=c:\fwh
#change these paths as needed
.path.OBJ = D:\CARNES21\EURO\IVABUENO\obj
.path.PRG = D:\CARNES21\EURO\IVABUENO\PRG
.path.CH = $(FWDIR)\include;$(HBDIR)\include;D:\CARNES21\EURO\IVABUENO\INCL
.path.C = .\
.path.rc = .\
#important: Use Uppercase for filenames extensions, in the next two rules!
PRG = \
GESIINIC.PRG \
GESIOPCI.PRG \
GES24100.PRG \
GES24110.PRG \
GES24120.PRG \
GES24200.PRG \
GES24300.PRG \
GES24400.PRG \
GES24500.PRG \
GES24600.PRG \
GES24700.PRG \
GES24800.PRG \
GES24900.PRG \
GES25000.PRG \
GES25100.PRG \
GES25300.PRG \
GES26000.PRG \
GES27000.PRG \
GES27100.PRG \
GES27200.PRG \
GES27300.PRG \
GES27400.PRG \
GES27500.PRG \
GES27510.PRG \
GES27520.PRG \
GES27530.PRG \
GES27540.PRG \
GES27550.PRG \
GES28000.PRG \
GES29000.PRG \
GES29100.PRG \
GES29200.PRG \
GESFUN00.PRG \
GESSCR00.PRG \
LIBRERIA.PRG \
PROJECT : GESIVA.EXE
GESIVA.EXE : $(PRG:.PRG=.OBJ) $(C:.C=.OBJ)
echo off
echo $(BCDIR)\lib\c0W32.obj + > b32.bc
echo OBJ\GESIINIC.OBJ OBJ\GESIOPCI.OBJ OBJ\GES24100.OBJ OBJ\GES24110.OBJ OBJ\GES24120.OBJ OBJ\GES24200.OBJ OBJ\GES24300.OBJ OBJ\GES24400.OBJ OBJ\GES24500.OBJ OBJ\GES24600.OBJ OBJ\GES24700.OBJ OBJ\GES24800.OBJ OBJ\GES24900.OBJ OBJ\GES25000.OBJ OBJ\GES25100.OBJ OBJ\GES25300.OBJ OBJ\GES26000.OBJ OBJ\GES27000.OBJ OBJ\GES27100.OBJ OBJ\GES27200.OBJ OBJ\GES27300.OBJ OBJ\GES27400.OBJ OBJ\GES27500.OBJ OBJ\GES27510.OBJ OBJ\GES27520.OBJ OBJ\GES27530.OBJ OBJ\GES27540.OBJ OBJ\GES27550.OBJ OBJ\GES28000.OBJ OBJ\GES29000.OBJ OBJ\GES29100.OBJ OBJ\GES29200.OBJ OBJ\GESFUN00.OBJ OBJ\GESSCR00.OBJ OBJ\LIBRERIA.OBJ, + >> b32.bc
echo GESIVA.EXE, + >> b32.bc
echo GESIVA.MAP, + >> b32.bc
echo $(FWDIR)\lib\FiveH.lib $(FWDIR)\lib\FiveHC.lib + >> b32.bc
echo $(HBDIR)\lib\hbrtl.lib + >> b32.bc
echo $(HBDIR)\lib\hbvm.lib + >> b32.bc
echo $(HBDIR)\lib\gtgui.lib + >> b32.bc
echo $(HBDIR)\lib\hblang.lib + >> b32.bc
echo $(HBDIR)\lib\hbmacro.lib + >> b32.bc
echo $(HBDIR)\lib\hbrdd.lib + >> b32.bc
echo $(HBDIR)\lib\rddntx.lib + >> b32.bc
echo $(HBDIR)\lib\rddcdx.lib + >> b32.bc
echo $(HBDIR)\lib\rddfpt.lib + >> b32.bc
echo $(HBDIR)\lib\hbsix.lib + >> b32.bc
echo $(HBDIR)\lib\hbdebug.lib + >> b32.bc
echo $(HBDIR)\lib\hbcommon.lib + >> b32.bc
echo $(HBDIR)\lib\hbpp.lib + >> b32.bc
echo $(HBDIR)\lib\hbwin.lib + >> b32.bc
echo $(HBDIR)\lib\hbcpage.lib + >> b32.bc
echo $(HBDIR)\lib\hbct.lib + >> b32.bc
echo $(HBDIR)\lib\xhb.lib + >> b32.bc
rem Uncomment these two lines to use Advantage RDD
rem echo $(HBDIR)\lib\rddads.lib + >> b32.bc
rem echo $(HBDIR)\lib\Ace32.lib + >> b32.bc
echo $(BCDIR)\lib\cw32.lib + >> b32.bc
echo $(BCDIR)\lib\uuid.lib + >> b32.bc
echo $(BCDIR)\lib\import32.lib + >> b32.bc
echo $(BCDIR)\lib\psdk\odbc32.lib + >> b32.bc
echo $(BCDIR)\lib\psdk\nddeapi.lib + >> b32.bc
echo $(BCDIR)\lib\psdk\iphlpapi.lib + >> b32.bc
echo $(BCDIR)\lib\psdk\msimg32.lib + >> b32.bc
echo $(BCDIR)\lib\psdk\rasapi32.lib + >> b32.bc
echo $(BCDIR)\lib\psdk\psapi.lib + >> b32.bc
echo $(BCDIR)\lib\psdk\gdiplus.lib + >> b32.bc
echo $(BCDIR)\lib\psdk\shell32.lib, + >> b32.bc
REM IF EXIST Alert.res echo Alert.res >> b32.bc
$(BCDIR)\bin\ilink32 -Gn -aa -Tpe -s @b32.bc
del b32.bc
.PRG.OBJ:
$(HBDIR)\bin\harbour $< /L /N /W /Oobj\ /I$(FWDIR)\include;$(HBDIR)\include
$(BCDIR)\bin\bcc32 -c -tWM -I$(HBDIR)\include -oobj\$& obj\$&.c
.C.OBJ:
echo -c -tWM -D__HARBOUR__ -DHB_API_MACROS > tmp
echo -I$(HBDIR)\include;$(FWDIR)\include >> tmp
$(BCDIR)\bin\bcc32 -oobj\$& @tmp $&.c
del tmp
rem Alert.res : Alert.rc
rem $(BCDIR)\bin\brc32.exe -r Alert.rc
Intentaré poner lo que me dices al principio del prg a ver si sale algo
Muchas gracias por tu atención
Re: Compilar modo consola (Es Urgente)
![Post Post](./styles/prosilver/imageset/icon_post_target.gif)
Posted:
Tue Sep 18, 2012 9:02 am
by Antonio Linares
Pedro,
En vez de enlazar gtgui.lib, enlaza gtwin.lib
Re: Compilar modo consola (Es Urgente)
![Post Post](./styles/prosilver/imageset/icon_post_target.gif)
Posted:
Tue Sep 18, 2012 9:29 am
by Pedro
Antonio
he cambiado la gtgui por la gtwin y me da este error
Error: Unresolved external '_HB_FUN_HB_GT_GUI_DEFAULT' referenced from C:\FWH\LIB\FIVEH.LIB|ERRSYSW
Una cosa más. No me aparece la ventana de MSDOS con el programa o sin él
Re: Compilar modo consola (Es Urgente)
![Post Post](./styles/prosilver/imageset/icon_post_target.gif)
Posted:
Tue Sep 18, 2012 9:42 am
by Antonio Linares
Pedro,
Que versión de Harbour estás usando ?
Re: Compilar modo consola (Es Urgente)
![Post Post](./styles/prosilver/imageset/icon_post_target.gif)
Posted:
Tue Sep 18, 2012 10:46 am
by Pedro
Esto es lo que sale cuando compilo
Harbour 3.1.0dev (Rev. 17222)
Copyright (c) 1999-2012, http://harbour-project.org/Este harbour fue bajado de fivetech y está nombrado como
harbour_bcc582_20120127.zip
Re: Compilar modo consola (Es Urgente)
![Post Post](./styles/prosilver/imageset/icon_post_target.gif)
Posted:
Tue Sep 18, 2012 10:49 am
by Pedro
compubrion wrote:Saludos !
Pedro, te recque uses el hbmk2 para compilar, desde la consola, solo debes ajustar el path para que no tengas lios
Si usas hb + borland
desde la consola
set path=UNIDAD:\HARBOUR\BIN;UNIDAD:\BCC582\BIN
LUEGO hbmk2 -compiler=bcc aplication.hbp
te creas un archivo para compilar
Elej aplication.hbp
Con el siguiente contenido
#
# Archivo Make
#
-n -q0 -static
#Si necesitas buscar fichesros .ch ó .lib las colocas
-Itupath\include
-Ltupath\lib
# Las lib que necesites
-ltulib1 -ltulib2 etc...
# con -o Asignas el nombre al .exe
-oAplication.exe
#Supongamos que tines los funetes en .\Aplication\Source entonces añadimos los .prg a compilar
./source/Modulo1
./source/Modulo2
./source/Modulo3
./source/Modulo4
Disculpa que no te haya contestado, compañero compubrion, ¿podrías enviarme a mi correo un ejemplo de como compilar con el hbmk2 y un fichero de ejemplo?
Muchas gracias
Re: Compilar modo consola (Es Urgente)
![Post Post](./styles/prosilver/imageset/icon_post_target.gif)
Posted:
Tue Sep 18, 2012 12:29 pm
by MarioG
Pedro wrote:Antonio
he cambiado la gtgui por la gtwin y me da este error
Error: Unresolved external '_HB_FUN_HB_GT_GUI_DEFAULT' referenced from C:\FWH\LIB\FIVEH.LIB|ERRSYSW
Una cosa más. No me aparece la ventana de MSDOS con el programa o sin él
Lo que no entiendo es porque si estas tratando de compilar en modo consola tenes un mensaje como este.
En las aplicaciones que desarrollé en modo DOS nunca inclui las lib de fivewin.
No andará por ahi el conflicto?