Como puedo compilar una classe?
Como puedo compilar una classe?
Amigos del foro, quisiera recompilar fivewin.lib para xharbour versión 12.04, y la verdad, no sé como hacerlo, agradeceré toda ayuda.
Fivewin 12.04 + xHarbour 1.2.1 + BCC582
Nada como Fivewin, odio visual basic, visual studio y todas las porquerías visual.
Nada como Fivewin, odio visual basic, visual studio y todas las porquerías visual.
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
Re: Como puedo compilar una classe?
Gracias Antonio, lamentablemente no me sirve de mucho, puesto que hice algunas modificaciones a la TXBrowse y este bat me compila todo, y aún así me deja fuera algunas funciones. Seguiré investigando.
Fivewin 12.04 + xHarbour 1.2.1 + BCC582
Nada como Fivewin, odio visual basic, visual studio y todas las porquerías visual.
Nada como Fivewin, odio visual basic, visual studio y todas las porquerías visual.
Re: Como puedo compilar una classe?
Leo, quizas pueda servirte esto:Leo wrote:Gracias Antonio, lamentablemente no me sirve de mucho, puesto que hice algunas modificaciones a la TXBrowse y este bat me compila todo, y aún así me deja fuera algunas funciones. Seguiré investigando.
\borland\bcc582\bin\TLIB FIVEWIN.LIB -+ TXBROWSE.OBJ (tu modulo)
C. Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
Si alguien te dice que algo no se puede hacer, recuerda que esta hablando de sus limitaciones, no de las tuyas.
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
Si alguien te dice que algo no se puede hacer, recuerda que esta hablando de sus limitaciones, no de las tuyas.
Re: Como puedo compilar una classe?
Cristobal, gracias por responder, el tema es que tengo un bat que hace eso, el problema es que me deja algunas librerías fuera, y no sé como hacerlo.
La lib resultante pesa 3 kb menos que el original y el resultado es el siguiente:
Code: Select all
@ECHO OFF
IF EXIST FIVEHX.LOG DEL FIVEHX.LOG
ECHO Classes -TXBrowse
G:\xharbour\bin\harbour.exe xBrowse /n/a/v/w /ic:\fwh\include;c:\xharbour\include >> FIVEHX.LOG
if errorlevel 1 GOTO ERROR
ECHO -O2 -Ic:\xharbour\include -tW xBrowse.C > b32.bc
G:\bcc582\bin\bcc32.exe -tWM -DHB_GUI -DHB_API_MACROS -DHB_STACK_MACROS -DHB_FM_STATISTICS_OFF -d -a8 -OS -O2 -5 -c @b32.bc >> FIVEHX.LOG
G:\bcc582\bin\tlib.exe FiveHX -+XBrowse >> FIVEHX.LOG
Rem DEL Brush.C >> FIVEHX.LOG
Rem DEL Brush.OBJ >> FIVEHX.LOG
goto end
:error
echo error de compilacion >> FIVEHX.LOG
notepad FIVEHX.LOG
:end
PAUSE
Code: Select all
Lines 1043, Functions/Procedures 33
Generating C source output to 'rmail.c'...
Done.
Borland C++ 5.82 for Win32 Copyright (c) 1993, 2005 Borland
rmail.c:
Turbo Incremental Link 5.69 Copyright (c) 1997-2005 Borland
Error: Unresolved external '_HB_FUN_HB_HKEYAT' referenced from C:\FWH\LIB\FIVEHX
.LIB|XBrowse
Error: Unresolved external '_HB_FUN_HB_HVALUEAT' referenced from C:\FWH\LIB\FIVE
HX.LIB|XBrowse
Error: Unresolved external '_HB_FUN_HB_HCASEMATCH' referenced from C:\FWH\LIB\FI
VEHX.LIB|XBrowse
* Linking errors *
Fivewin 12.04 + xHarbour 1.2.1 + BCC582
Nada como Fivewin, odio visual basic, visual studio y todas las porquerías visual.
Nada como Fivewin, odio visual basic, visual studio y todas las porquerías visual.
Re: Como puedo compilar una classe?
Se me ocurre que copies los fuentes de fivewin a otra carpeta, y sobre esa copies los fuentes que modificaste, y ahí compiles como dice Antonio para compilar todo
Saludos
Quique
Quique
Re: Como puedo compilar una classe?
Quique, gracias por la idea, creo que mejoró, sólo que el método de compilación que me entregó Antonio me arrojó el siguiente error:
Cambié el parametro /p32 por /p64 y compiló, pero me sigue arrojando este error al compilar con la nueva lib:
Code: Select all
Borland C++ 5.82 for Win32 Copyright (c) 1993, 2005 Borland
xbrowse.c:
G:\FWH\NewLibs>for %f in (*.obj) do g:\bcc582\bin\tlib fivehx.lib -+ %f /0 /P32,
,
G:\FWH\NewLibs>g:\bcc582\bin\tlib fivehx.lib -+ btnbmp.obj /0 /P32,,
TLIB 4.5 Copyright (c) 1987, 1998 Borland International
Warning: library was too large for page size, rebuilt with page size 64
Warning: results are safe in file 'libtmp0c.t90'
DOS-reported error: Permission denied
renaming 'fivehx.lib' to 'fivehx.BAK'
G:\FWH\NewLibs>g:\bcc582\bin\tlib fivehx.lib -+ xbrowse.obj /0 /P32,,
TLIB 4.5 Copyright (c) 1987, 1998 Borland International
Warning: library was too large for page size, rebuilt with page size 64
Warning: results are safe in file 'libtmp00.p00'
DOS-reported error: Permission denied
renaming 'fivehx.lib' to 'fivehx.BAK'
G:\FWH\NewLibs>
Code: Select all
Borland C++ 5.82 for Win32 Copyright (c) 1993, 2005 Borland
azteccode.c:
Borland Resource Compiler Version 5.40
Copyright (c) 1990, 1999 Inprise Corporation. All rights reserved.
Turbo Incremental Link 5.69 Copyright (c) 1997-2005 Borland
Error: Unresolved external '_png_set_longjmp_fn' referenced from C:\FWH\LIB\FIVEHC.LIB|FWPNG
Error: Unresolved external '_HB_FUN_HB_HKEYAT' referenced from C:\FWH\LIB\FIVEHX.LIB|xbrowse
Error: Unresolved external '_HB_FUN_HB_HVALUEAT' referenced from C:\FWH\LIB\FIVEHX.LIB|xbrowse
Error: Unresolved external '_HB_FUN_HB_HCASEMATCH' referenced from C:\FWH\LIB\FIVEHX.LIB|xbrowse
* Linking errors *
Fivewin 12.04 + xHarbour 1.2.1 + BCC582
Nada como Fivewin, odio visual basic, visual studio y todas las porquerías visual.
Nada como Fivewin, odio visual basic, visual studio y todas las porquerías visual.
Re: Como puedo compilar una classe?
Sin contar _png_set_longjmp_fn que NPI de donde sale esa función, las otras tres son funciones de harbour, así que el problema es que te falta enlazar las librerías correspondientes, no es problema de FW.
Saludos
Quique
Quique
Re: Como puedo compilar una classe?
Gracias Quique, el tema es ¿Cómo enlazo las librerías que me faltan?
Fivewin 12.04 + xHarbour 1.2.1 + BCC582
Nada como Fivewin, odio visual basic, visual studio y todas las porquerías visual.
Nada como Fivewin, odio visual basic, visual studio y todas las porquerías visual.
Re: Como puedo compilar una classe?
Eso depende de que utilería utilices para compilar tu programa, tienes que agregarlas ahí.
Saludos
Quique
Quique
Re: Como puedo compilar una classe?
simplemente una bat xharbour, bcc582
Fivewin 12.04 + xHarbour 1.2.1 + BCC582
Nada como Fivewin, odio visual basic, visual studio y todas las porquerías visual.
Nada como Fivewin, odio visual basic, visual studio y todas las porquerías visual.
Re: Como puedo compilar una classe?
http://fivetechsupport.com/forums/viewt ... =6&t=15365
donde bajar HARB2LIB.EXE
http://ar.groups.yahoo.com/group/Desarr ... /item/list
http://alanart.net/fivewin/index.php?/t ... lib-do-fw/
salu2
donde bajar HARB2LIB.EXE
http://ar.groups.yahoo.com/group/Desarr ... /item/list
http://alanart.net/fivewin/index.php?/t ... lib-do-fw/
salu2
Last edited by karinha on Wed May 08, 2013 3:47 pm, edited 1 time in total.
João Santos - São Paulo - Brasil
Re: Como puedo compilar una classe?
Entonces, revisa dentro del bat en que parte se agregan las librerías y ahi es donde tienes que agregar las que faltan
Saludos
Quique
Quique
Re: Como puedo compilar una classe?
Este es el bat:
Code: Select all
for %%f in (*.prg) do g:\xharbour\bin\harbour %%f /n /ig:\fwh\include;g:\xharbour\include
for %%f in (*.c) do g:\bcc582\bin\bcc32 -c -Ig:\bcc582\include;g:\xharbour\include %%f
for %%f in (*.obj) do g:\bcc582\bin\tlib fivehx.lib -+ %%f /0 /P64,,
Fivewin 12.04 + xHarbour 1.2.1 + BCC582
Nada como Fivewin, odio visual basic, visual studio y todas las porquerías visual.
Nada como Fivewin, odio visual basic, visual studio y todas las porquerías visual.
Re: Como puedo compilar una classe?
Según entiendo, los Unresolved external se dan cuando compilas el ejecutable, pero en este caso se trata de una librería, pero tal vez Antonio o algún experto en el tema pueda dar otra respuesta
Saludos
Quique
Quique