Consulta al enlazar modo consola

Post Reply
User avatar
jrestojeda
Posts: 601
Joined: Wed Jul 04, 2007 3:51 pm
Location: Buenos Aires - Argentina

Consulta al enlazar modo consola

Post by jrestojeda »

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

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

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

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

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
Antonio Linares
Site Admin
Posts: 42511
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Has thanked: 31 times
Been thanked: 73 times
Contact:

Re: Consulta al enlazar modo consola

Post by Antonio Linares »

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
jrestojeda
Posts: 601
Joined: Wed Jul 04, 2007 3:51 pm
Location: Buenos Aires - Argentina

Re: Consulta al enlazar modo consola

Post by jrestojeda »

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
Antonio Linares
Site Admin
Posts: 42511
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Has thanked: 31 times
Been thanked: 73 times
Contact:

Re: Consulta al enlazar modo consola

Post by Antonio Linares »

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
jrestojeda
Posts: 601
Joined: Wed Jul 04, 2007 3:51 pm
Location: Buenos Aires - Argentina

Re: Consulta al enlazar modo consola

Post by jrestojeda »

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
Antonio Linares
Site Admin
Posts: 42511
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Has thanked: 31 times
Been thanked: 73 times
Contact:

Re: Consulta al enlazar modo consola

Post by Antonio Linares »

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
jrestojeda
Posts: 601
Joined: Wed Jul 04, 2007 3:51 pm
Location: Buenos Aires - Argentina

Re: Consulta al enlazar modo consola

Post by jrestojeda »

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
Post Reply