Consulta al enlazar modo consola

Consulta al enlazar modo consola

Postby jrestojeda » 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: Select all  Expand view
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: Select all  Expand view
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: Select all  Expand view
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: Select all  Expand view
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
User avatar
jrestojeda
 
Posts: 601
Joined: Wed Jul 04, 2007 3:51 pm
Location: Buenos Aires - Argentina

Re: Consulta al enlazar modo consola

Postby Antonio Linares » Mon Sep 06, 2021 4: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
User avatar
Antonio Linares
Site Admin
 
Posts: 42097
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: Consulta al enlazar modo consola

Postby jrestojeda » Mon Sep 06, 2021 1: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
User avatar
jrestojeda
 
Posts: 601
Joined: Wed Jul 04, 2007 3:51 pm
Location: Buenos Aires - Argentina

Re: Consulta al enlazar modo consola

Postby Antonio Linares » Mon Sep 06, 2021 3: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
User avatar
Antonio Linares
Site Admin
 
Posts: 42097
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: Consulta al enlazar modo consola

Postby jrestojeda » Mon Sep 06, 2021 3: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
User avatar
jrestojeda
 
Posts: 601
Joined: Wed Jul 04, 2007 3:51 pm
Location: Buenos Aires - Argentina

Re: Consulta al enlazar modo consola

Postby Antonio Linares » Mon Sep 06, 2021 4: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
User avatar
Antonio Linares
Site Admin
 
Posts: 42097
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: Consulta al enlazar modo consola

Postby jrestojeda » Tue Sep 07, 2021 3: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
User avatar
jrestojeda
 
Posts: 601
Joined: Wed Jul 04, 2007 3:51 pm
Location: Buenos Aires - Argentina


Return to FiveWin para CA-Clipper

Who is online

Users browsing this forum: No registered users and 10 guests