FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para CA-Clipper Consulta al enlazar modo consola
Posts: 601
Joined: Wed Jul 04, 2007 03:51 PM
Consulta al enlazar modo consola
Posted: Sun Sep 05, 2021 10:39 PM
Hola a todos,
Tengo una duda conceptual.
Si enlazo mis fuentes para generar mi ejecutable de la siguiente manera se genera correctamente:

Archivo DEMO.hbp
Code (fw): Select all Collapse
DEMO32.PRG
MENSAJES.prg
MENSAJEC.C
CONEXION.prg

VARIOS\F001.PRG VARIOS\F002.PRG VARIOS\F003.PRG VARIOS\F004.PRG VARIOS\F006.PRG VARIOS\F007.PRG
VARIOS\F008.PRG VARIOS\F009.PRG VARIOS\F010.PRG VARIOS\F011.PRG VARIOS\F012.PRG VARIOS\F013.PRG
VARIOS\F014.PRG VARIOS\F015.PRG VARIOS\F016.PRG VARIOS\F017.PRG VARIOS\F018.PRG VARIOS\F019.PRG
VARIOS\F020.PRG VARIOS\F022.PRG VARIOS\F023.PRG VARIOS\F031.PRG VARIOS\F033.PRG VARIOS\F034.PRG
VARIOS\F038.PRG VARIOS\F039.PRG VARIOS\F040.PRG VARIOS\F041.PRG VARIOS\F043.PRG VARIOS\F044.PRG
VARIOS\F045.PRG VARIOS\F046.PRG VARIOS\F047.PRG VARIOS\F048.PRG VARIOS\F050.PRG VARIOS\F051.PRG
VARIOS\F053.PRG VARIOS\F055.PRG VARIOS\F057.PRG VARIOS\F058.PRG VARIOS\F060.PRG VARIOS\F061.PRG
VARIOS\F062.PRG VARIOS\F066.PRG VARIOS\F067.PRG VARIOS\F068.PRG VARIOS\F070.PRG VARIOS\F073.PRG
VARIOS\F074.PRG VARIOS\F075.PRG VARIOS\F076.PRG VARIOS\F078.PRG VARIOS\F080.PRG VARIOS\F081.PRG
VARIOS\F090.PRG VARIOS\F099.PRG VARIOS\F102.PRG VARIOS\F103.PRG VARIOS\F667.PRG VARIOS\F999.PRG

VARIOS\N001.PRG VARIOS\N002.PRG VARIOS\N003.PRG VARIOS\N004.PRG VARIOS\N005.PRG VARIOS\N006.PRG
VARIOS\N007.PRG VARIOS\N008.PRG VARIOS\N009.PRG VARIOS\N010.PRG VARIOS\N011.PRG VARIOS\N012.PRG
VARIOS\N444.PRG

LIBS=Y:\DEMO32\PRG\LIB\libmysql.lib
LIBS=Y:\DEMO32\PRG\LIB\hbmysql.lib


Archivo para generar el .exe:
Code (fw): Select all Collapse
D:\HARBOUR\hb30\bin\hbmk2.exe DEMO32.hbp > Compilar.LOG
CALL COMPILAR.LOG
PAUSE

Si armo todo de esta manera se genera el .exe correctamente y funciona.

Ahora bien, si quiero generar el .exe de la siguiente manera me faltan todas las funciones que estan en hbmysql.lib

Code (fw): Select all Collapse
c:\bcc55\lib\c0w32.obj +
Y:\DEMO32\PRG\OBJ\DEMO32.obj Y:\DEMO32\PRG\OBJ\f001.obj     Y:\DEMO32\PRG\OBJ\f002.obj     Y:\DEMO32\PRG\OBJ\f003.obj     +
Y:\DEMO32\PRG\OBJ\f004.obj   Y:\DEMO32\PRG\OBJ\f006.obj     Y:\DEMO32\PRG\OBJ\f007.obj     Y:\DEMO32\PRG\OBJ\f008.obj     +
Y:\DEMO32\PRG\OBJ\f009.obj   Y:\DEMO32\PRG\OBJ\f010.obj     Y:\DEMO32\PRG\OBJ\f011.obj     Y:\DEMO32\PRG\OBJ\f012.obj     +
Y:\DEMO32\PRG\OBJ\f013.obj   Y:\DEMO32\PRG\OBJ\f014.obj     Y:\DEMO32\PRG\OBJ\f015.obj     Y:\DEMO32\PRG\OBJ\f016.obj     +
Y:\DEMO32\PRG\OBJ\f017.obj   Y:\DEMO32\PRG\OBJ\f018.obj     Y:\DEMO32\PRG\OBJ\f019.obj     Y:\DEMO32\PRG\OBJ\f020.obj     +
Y:\DEMO32\PRG\OBJ\f022.obj   Y:\DEMO32\PRG\OBJ\f023.obj     Y:\DEMO32\PRG\OBJ\f031.obj     Y:\DEMO32\PRG\OBJ\f033.obj     +
Y:\DEMO32\PRG\OBJ\f034.obj   Y:\DEMO32\PRG\OBJ\f038.obj     Y:\DEMO32\PRG\OBJ\f039.obj     Y:\DEMO32\PRG\OBJ\f040.obj     +
Y:\DEMO32\PRG\OBJ\f041.obj   Y:\DEMO32\PRG\OBJ\f043.obj     Y:\DEMO32\PRG\OBJ\f044.obj     Y:\DEMO32\PRG\OBJ\f045.obj     +
Y:\DEMO32\PRG\OBJ\f046.obj   Y:\DEMO32\PRG\OBJ\f047.obj     Y:\DEMO32\PRG\OBJ\f048.obj     Y:\DEMO32\PRG\OBJ\f050.obj     +
Y:\DEMO32\PRG\OBJ\f051.obj   Y:\DEMO32\PRG\OBJ\f053.obj     Y:\DEMO32\PRG\OBJ\f055.obj     Y:\DEMO32\PRG\OBJ\f057.obj     +
Y:\DEMO32\PRG\OBJ\f058.obj   Y:\DEMO32\PRG\OBJ\f060.obj     Y:\DEMO32\PRG\OBJ\f061.obj     Y:\DEMO32\PRG\OBJ\f062.obj     +
Y:\DEMO32\PRG\OBJ\f066.obj   Y:\DEMO32\PRG\OBJ\f067.obj     Y:\DEMO32\PRG\OBJ\f068.obj     Y:\DEMO32\PRG\OBJ\f070.obj     +
Y:\DEMO32\PRG\OBJ\f073.obj   Y:\DEMO32\PRG\OBJ\f074.obj     Y:\DEMO32\PRG\OBJ\f075.obj     Y:\DEMO32\PRG\OBJ\f076.obj     +
Y:\DEMO32\PRG\OBJ\f078.obj   Y:\DEMO32\PRG\OBJ\f080.obj     Y:\DEMO32\PRG\OBJ\f081.obj     Y:\DEMO32\PRG\OBJ\f090.obj     +
Y:\DEMO32\PRG\OBJ\f099.obj   Y:\DEMO32\PRG\OBJ\f102.obj     Y:\DEMO32\PRG\OBJ\f103.obj     Y:\DEMO32\PRG\OBJ\f667.obj     +
Y:\DEMO32\PRG\OBJ\f999.obj   Y:\DEMO32\PRG\OBJ\mensajec.obj Y:\DEMO32\PRG\OBJ\mensajes.obj Y:\DEMO32\PRG\OBJ\CONEXION.obj +
Y:\DEMO32\PRG\OBJ\n001.obj   Y:\DEMO32\PRG\OBJ\n002.obj     Y:\DEMO32\PRG\OBJ\n003.obj     Y:\DEMO32\PRG\OBJ\n004.obj     +
Y:\DEMO32\PRG\OBJ\n005.obj   Y:\DEMO32\PRG\OBJ\n006.obj     Y:\DEMO32\PRG\OBJ\n007.obj     Y:\DEMO32\PRG\OBJ\n008.obj     +
Y:\DEMO32\PRG\OBJ\n009.obj   Y:\DEMO32\PRG\OBJ\n010.obj     Y:\DEMO32\PRG\OBJ\n011.obj     Y:\DEMO32\PRG\OBJ\n012.obj     +
Y:\DEMO32\PRG\OBJ\n444.obj    ,+
DEMO32.EXE ,+
DEMO32.MAP ,+
D:\HARBOUR\hb30\LIB\hblang.lib   +
D:\HARBOUR\hb30\LIB\hbvm.lib     +
D:\HARBOUR\hb30\LIB\hbrtl.lib    +
D:\HARBOUR\hb30\LIB\hbrdd.lib    +
D:\HARBOUR\hb30\LIB\hbmacro.lib  +
D:\HARBOUR\hb30\LIB\rddntx.lib   +
D:\HARBOUR\hb30\LIB\rddcdx.lib   +
D:\HARBOUR\hb30\LIB\rddfpt.lib   +
D:\HARBOUR\hb30\LIB\hbcommon.lib +
D:\HARBOUR\hb30\LIB\gtwin.lib    +
D:\HARBOUR\hb30\LIB\hbcpage.lib  +
D:\HARBOUR\hb30\LIB\hbct.lib     +
D:\HARBOUR\hb30\LIB\hbtip.lib    +
D:\HARBOUR\hb30\LIB\hbpcre.lib   +
D:\HARBOUR\hb30\LIB\hbhsx.lib    +
D:\HARBOUR\hb30\LIB\hbsix.lib    +
D:\HARBOUR\hb30\LIB\hbdebug.lib  +
D:\HARBOUR\hb30\LIB\hbhpdf.lib   +
D:\HARBOUR\hb30\LIB\png.lib      +
D:\HARBOUR\hb30\LIB\hbzlib.lib   +
D:\HARBOUR\hb30\LIB\xhb.lib      +
D:\HARBOUR\hb30\LIB\hbcplr.lib   +
D:\HARBOUR\hb30\LIB\hbwin.lib    +
D:\HARBOUR\hb30\LIB\gtgui.lib    +
Y:\DEMO32\PRG\LIB\libmysql.lib   +
Y:\DEMO32\PRG\LIB\hbmysql.lib    +
C:\BCC55\lib\cw32.lib            +
C:\BCC55\lib\import32.lib        +
C:\BCC55\lib\psdk\odbc32.lib     +
C:\BCC55\lib\psdk\nddeapi.lib    +
C:\BCC55\lib\psdk\iphlpapi.lib   +
C:\BCC55\lib\psdk\msimg32.lib    +
C:\BCC55\lib\psdk\rasapi32.lib   +
C:\BCC55\lib\psdk\psapi.lib      +


Las funciones en teoria estan en hbmysql.lib, la cual estoy agregando en el archivo l.bc
Sin embargo me da los siguientes errores:
Code (fw): Select all Collapse
Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland
Error: Unresolved external 'mysql_init' referenced from Y:\DEMO32\PRG\LIB\HBMYSQL.LIB|mysql
Error: Unresolved external 'mysql_real_connect' referenced from Y:\DEMO32\PRG\LIB\HBMYSQL.LIB|mysql
Error: Unresolved external 'mysql_close' referenced from Y:\DEMO32\PRG\LIB\HBMYSQL.LIB|mysql
Error: Unresolved external 'mysql_get_server_version' referenced from Y:\DEMO32\PRG\LIB\HBMYSQL.LIB|mysql
Error: Unresolved external 'mysql_commit' referenced from Y:\DEMO32\PRG\LIB\HBMYSQL.LIB|mysql
Error: Unresolved external 'mysql_rollback' referenced from Y:\DEMO32\PRG\LIB\HBMYSQL.LIB|mysql
Error: Unresolved external 'mysql_select_db' referenced from Y:\DEMO32\PRG\LIB\HBMYSQL.LIB|mysql
Error: Unresolved external 'mysql_query' referenced from Y:\DEMO32\PRG\LIB\HBMYSQL.LIB|mysql
Error: Unresolved external 'mysql_store_result' referenced from Y:\DEMO32\PRG\LIB\HBMYSQL.LIB|mysql
Error: Unresolved external 'mysql_use_result' referenced from Y:\DEMO32\PRG\LIB\HBMYSQL.LIB|mysql
Error: Unresolved external 'mysql_fetch_lengths' referenced from Y:\DEMO32\PRG\LIB\HBMYSQL.LIB|mysql
Error: Unresolved external 'mysql_data_seek' referenced from Y:\DEMO32\PRG\LIB\HBMYSQL.LIB|mysql
Error: Unresolved external 'mysql_fetch_field' referenced from Y:\DEMO32\PRG\LIB\HBMYSQL.LIB|mysql
Error: Unresolved external 'mysql_field_seek' referenced from Y:\DEMO32\PRG\LIB\HBMYSQL.LIB|mysql
Error: Unresolved external 'mysql_num_fields' referenced from Y:\DEMO32\PRG\LIB\HBMYSQL.LIB|mysql
Error: Unresolved external 'mysql_field_count' referenced from Y:\DEMO32\PRG\LIB\HBMYSQL.LIB|mysql
Error: Unresolved external 'mysql_list_fields' referenced from Y:\DEMO32\PRG\LIB\HBMYSQL.LIB|mysql
Error: Unresolved external 'mysql_errno' referenced from Y:\DEMO32\PRG\LIB\HBMYSQL.LIB|mysql
Error: Unresolved external 'mysql_error' referenced from Y:\DEMO32\PRG\LIB\HBMYSQL.LIB|mysql
Error: Unresolved external 'mysql_list_dbs' referenced from Y:\DEMO32\PRG\LIB\HBMYSQL.LIB|mysql
Error: Unresolved external 'mysql_list_tables' referenced from Y:\DEMO32\PRG\LIB\HBMYSQL.LIB|mysql
Error: Unresolved external 'mysql_num_rows' referenced from Y:\DEMO32\PRG\LIB\HBMYSQL.LIB|mysql
Error: Unresolved external 'mysql_fetch_row' referenced from Y:\DEMO32\PRG\LIB\HBMYSQL.LIB|mysql
Error: Unresolved external 'mysql_free_result' referenced from Y:\DEMO32\PRG\LIB\HBMYSQL.LIB|mysql
Error: Unresolved external 'mysql_affected_rows' referenced from Y:\DEMO32\PRG\LIB\HBMYSQL.LIB|mysql
Error: Unresolved external 'mysql_get_host_info' referenced from Y:\DEMO32\PRG\LIB\HBMYSQL.LIB|mysql
Error: Unresolved external 'mysql_get_server_info' referenced from Y:\DEMO32\PRG\LIB\HBMYSQL.LIB|mysql
Error: Unresolved external 'mysql_insert_id' referenced from Y:\DEMO32\PRG\LIB\HBMYSQL.LIB|mysql
Error: Unresolved external 'mysql_ping' referenced from Y:\DEMO32\PRG\LIB\HBMYSQL.LIB|mysql
Error: Unresolved external 'mysql_real_escape_string' referenced from Y:\DEMO32\PRG\LIB\HBMYSQL.LIB|mysql
Error: Unresolved external 'mysql_escape_string' referenced from Y:\DEMO32\PRG\LIB\HBMYSQL.LIB|mysql


Qué puede ser que este fallando que no me tome la hbmysql.lib?
Cualquier ayuda es bienvenida.
Desde ya muchas gracias.
Ojeda Esteban Eduardo.

Buenos Aires - Argentina.

FWH - PellesC - DBF/CDX - ADS - Gloriosos .Bat - MySql - C# .net - FastReport

Skype: jreduojeda
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: Consulta al enlazar modo consola
Posted: Mon Sep 06, 2021 04:57 AM

Necesitas crear una librería de importacion (.LIB) a partir de mysql.dll y enlazarla también:

implib.exe mysql.lib mysql.dll

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 601
Joined: Wed Jul 04, 2007 03:51 PM
Re: Consulta al enlazar modo consola
Posted: Mon Sep 06, 2021 01:11 PM

Antonio,
Muchas gracias por tu respuesta.

Mi duda es porque si genero el .exe con hbmk2 funciona y si lo generon con el otro .bat no.
En ambos casos estoy apuntando a la misma "hbmysql.lib" donde están las funciones.

¿Qué puede estár cambiando?

Ojeda Esteban Eduardo.

Buenos Aires - Argentina.

FWH - PellesC - DBF/CDX - ADS - Gloriosos .Bat - MySql - C# .net - FastReport

Skype: jreduojeda
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: Consulta al enlazar modo consola
Posted: Mon Sep 06, 2021 03:41 PM

Esteban,

hbmk2 genera automaticamente la libreria de importación y luego la borra

hbmk2 es una gran herramienta

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 601
Joined: Wed Jul 04, 2007 03:51 PM
Re: Consulta al enlazar modo consola
Posted: Mon Sep 06, 2021 03:57 PM

Ahhh, entiendo.
Ahora lo que no se entonces... Es de donde toma mysql.dll para generar la lib.
Podría orientarme de donde debo tomarla para generar mi lib.
Desde ya muchas gracias.

Ojeda Esteban Eduardo.

Buenos Aires - Argentina.

FWH - PellesC - DBF/CDX - ADS - Gloriosos .Bat - MySql - C# .net - FastReport

Skype: jreduojeda
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: Consulta al enlazar modo consola
Posted: Mon Sep 06, 2021 04:55 PM

Si revisas c:\harbour\contrib\hbmysql\hbmysql.hbc y c:\harbour\contrib\hbmysql\hbmysql.hbp verás de donde se toma

Los dos son ficheros de texto que puedes abrir con tu editor ó el notepad, etc. y los vas a entender :-)

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 601
Joined: Wed Jul 04, 2007 03:51 PM
Re: Consulta al enlazar modo consola
Posted: Tue Sep 07, 2021 03:33 PM

Muchas gracias Antonio.
Voy a ver esos archivos que me dices.

Ojeda Esteban Eduardo.

Buenos Aires - Argentina.

FWH - PellesC - DBF/CDX - ADS - Gloriosos .Bat - MySql - C# .net - FastReport

Skype: jreduojeda

Continue the discussion