Page 2 of 6

Re: Compilar con hmbk2 es complicado, pero... solucionado

Posted: Sun Sep 15, 2024 7:29 pm
by alerchster
insert in your hbp file
1- Como le podemos asignar un nombre especifico a nuestro ejecutable final, directo desde el hbmk2?
-ofilename
2- Como hacemos que exe, se abra de manera automática al final del proceso, solo si fue generado de manera correcta?
-run

Re: Compilar con hmbk2 es complicado, pero... solucionado

Posted: Sun Sep 15, 2024 8:09 pm
by leandro
Anton de nuevo gracias por responder agregamos -ofilename hymlyma.exe pero nos salió el siguiente error:

Code: Select all | Expand

Lines 152, Functions/Procedures 2, pCodes 447
xHarbour 1.3.1 Intl. (SimpLex) (Build 20240624)
Copyright 1999-2024, http://www.xharbour.org http://www.harbour-project.org/
Cannot open input file: hymlyma.exe
hbmk2[xhbcmp]: Error: Running Harbour compiler. 1
c:\xHar2407_64\bin\harbour.exe -n hymlyma.exe -ic:\xHar2407_64\include -ic:\fwh64_2407\include

C:\cmplar_64>
 
el .hbp

Code: Select all | Expand

-gui

#los prgs
.\prg\R32_MENU.prg
.\prg\R32_PERM.prg


#recursos
.\res\CONTABLE.res

-info
#-traceonly
-workdir=

-optim-
-ldflag+=-aa
-Ic:\fwh64_2407\include
-Lc:\fwh64_2407\lib

-lFivehx64
-lFiveC64

-lct
-lhbzip
-ltip
-lhbcomm
-lhbcurl
-llibcurl

-ofilename hymlyma.exe
 
Si esta bien así?

Re: Compilar con hmbk2 es complicado, pero...

Posted: Sun Sep 15, 2024 8:18 pm
by leandro
Ya logramos generar el exe :D

Pero no funciona :oops:

Salen unos errores de librerías, gracias de antemano

Image

Re: Compilar con hmbk2 es complicado, pero...

Posted: Sun Sep 15, 2024 8:28 pm
by leandro
Bueno ya encontramos las dll que estaba pidiendo, están en el directorio de xharbour64 :D

Image

Re: Compilar con hmbk2 es complicado, pero...

Posted: Sun Sep 15, 2024 8:29 pm
by leandro
Ahora nos esta saliendo este error, ya casi jejejejejeje

Image
Cgallegoa wrote:Ya lo logré. Tenia el "manifest" equivocado. Ya compilé mi primer prg con hHarbour64 y Borland7764 usando hbmk2 :D . Ahora, a aprender a usarlo a fondo.

Leando pudiste hacerlo funcionar ? Si aún no lo logras y si quieres, te puedo pasar lo que tengo a ver si te sirve.

Un abrazo,
Carlos como cambiaste el Manifest? en donde se agrega? esta en los recursos o algo así?

Re: Compilar con hmbk2 es complicado, pero...

Posted: Sun Sep 15, 2024 8:29 pm
by alerchster

Code: Select all | Expand

-gui

#los prgs
.\prg\R32_MENU.prg
.\prg\R32_PERM.prg


#recursos
.\res\CONTABLE.res

-info
#-traceonly
-workdir=

-optim-
-ldflag+=-aa
-Ic:\fwh64_2407\include
-Lc:\fwh64_2407\lib

-lFivehx64
-lFiveC64

-lct
-lhbzip
-ltip
-lhbcomm
-lhbcurl
-llibcurl

-ohymlyma
 

Re: Compilar con hmbk2 es complicado, pero...

Posted: Sun Sep 15, 2024 9:10 pm
by Enrico Maria Giordano
This manifest is fine for both 32 and 64 bit:

Code: Select all | Expand

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
  <dependency>
    <dependentAssembly>
      <assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" processorArchitecture="*" publicKeyToken="6595b64144ccf1df" language="*" />
    </dependentAssembly>
  </dependency>
</assembly>

Re: Compilar con hmbk2 es complicado, pero...

Posted: Sun Sep 15, 2024 9:51 pm
by leandro
Enrico Maria Giordano wrote:This manifest is fine for both 32 and 64 bit:
Enrico, muchas gracias quedo perfecto con ese Manifest :D

Ya lo logramos el crear el ejecutable de manera correcta en 64 bits :D

Image

Re: Compilar con hmbk2 es complicado, pero...

Posted: Sun Sep 15, 2024 9:57 pm
by leandro
Listo, ahora a terminar de pulir todo...

Tengo dos preguntas mas:

1- Como se hace la compilación incremental hbmk2?

2- Que flag es el que debo agregar para que el nombre de los archivos prg, los identifique como funciones?

Me explico un poco mejor para esta segunda pregunta:

Cuando hacíamos el llamado de la función R32_TABL() dentro de cualquiera de los prg, lo hacia sin problema, esta función no esta definida como tal dentro de la aplicación. Esa función quedaba definida en el momento en el que agregamos el prg como parte del proyecto.
Ejemplo:

Code: Select all | Expand

R32_TABL.prg
 
De antemano gracias

Re: Compilar con hmbk2 es complicado, pero...

Posted: Sun Sep 15, 2024 10:00 pm
by leandro
alerchster wrote:

Code: Select all | Expand

-gui

#los prgs
.\prg\R32_MENU.prg
.\prg\R32_PERM.prg


#recursos
.\res\CONTABLE.res

-info
#-traceonly
-workdir=

-optim-
-ldflag+=-aa
-Ic:\fwh64_2407\include
-Lc:\fwh64_2407\lib

-lFivehx64
-lFiveC64

-lct
-lhbzip
-ltip
-lhbcomm
-lhbcurl
-llibcurl

-ohymlyma
 
Excelente Anton, entendido

Re: Compilar con hmbk2 es complicado, pero...

Posted: Mon Sep 16, 2024 3:07 am
by alerchster
1- Como se hace la compilación incremental hbmk2?

Code: Select all | Expand

-inc

Re: Compilar con hmbk2 es complicado, pero...

Posted: Mon Sep 16, 2024 5:45 am
by Antonio Linares
many thanks Anton

:-)

Re: Compilar con hmbk2 es complicado, pero...

Posted: Mon Sep 16, 2024 1:06 pm
by leandro
:D :D
Excelente Anton, muchas gracias por la ayuda, la compila de manera incremental.

Re: Compilar con hmbk2 es complicado, pero...

Posted: Mon Sep 16, 2024 1:09 pm
by leandro
ya casi, creo ...

Nos hace falta este problemita

Que flag es el que debo agregar para que el nombre de los archivos prg, los identifique como funciones?

Me explico un poco mejor para esta pregunta:

Cuando hacíamos el llamado de la función R32_TABL() dentro de cualquiera de los prg, lo hacia sin problema, esta función no esta definida como tal dentro de la aplicación. Esa función quedaba definida en el momento en el que agregamos el prg como parte del proyecto.
Ejemplo:

Code: Select all | Expand

-gui


#los prgs
.\prg\R32_MENU.prg
.\prg\R32_PERM.prg
.\prg\R32_RCA1.prg

#recursos
.\res\CONTABLE.res

-info
#-traceonly
-workdir=

-optim-
-ldflag+=-aa
-Ic:\fwh64_2407\include
-Lc:\fwh64_2407\lib

-lFivehx64
-lFiveC64

-lct
-lhbzip
-ltip
-lhbcomm
-lhbcurl
-llibcurl

-ohymlyma
-run

-inc

 
Pero nos esta devolviendo este error

Code: Select all | Expand

hbmk2: Linking... hymlyma.exe
Turbo Incremental Link64 6.98 Copyright (c) 1997-2023 Embarcadero Technologies, Inc.
Error: Unresolved external 'HB_FUN_R32_RCA1' referenced from C:\CMPLAR_64\R32_MENU.O
hbmk2[xhbcmp]: Error: Running linker. 2
ilink64.exe @C:\Users\leandro\AppData\Local\Temp\64\8nbpbx.lnk

hbmk2: Error: Referenced, missing, but unknown function(s): R32_RCA1()

C:\cmplar_64>
 
También salen estos errores cuando se agrega el prg

Code: Select all | Expand

Lines 2047, Functions/Procedures 3, pCodes 10441
xHarbour 1.3.1 Intl. (SimpLex) (Build 20240624)
Copyright 1999-2024, http://www.xharbour.org http://www.harbour-project.org/
Compiling '.\prg\R32_RCA1.prg'...
.\prg\R32_RCA1.prg(13) Error E0001  Statement not allowed outside of procedure or function
.\prg\R32_RCA1.prg(14) Error E0001  Statement not allowed outside of procedure or function
.\prg\R32_RCA1.prg(15) Error E0001  Statement not allowed outside of procedure or function
.\prg\R32_RCA1.prg(16) Error E0001  Statement not allowed outside of procedure or function
.\prg\R32_RCA1.prg(17) Error E0001  Statement not allowed outside of procedure or function
.\prg\R32_RCA1.prg(18) Error E0001  Statement not allowed outside of procedure or function
.\prg\R32_RCA1.prg(19) Error E0001  Statement not allowed outside of procedure or function
.\prg\R32_RCA1.prg(21) Error E0001  Statement not allowed outside of procedure or function
.\prg\R32_RCA1.prg(22) Error E0001  Statement not allowed outside of procedure or function
.\prg\R32_RCA1.prg(25) Error E0001  Statement not allowed outside of procedure or function
10 errors
 
Y este es el prg, no contiene mas que una funcion

RCA1.prg

Code: Select all | Expand

*************************
* Modulo: Reporte de Cartera *
*************************
#include "fivewin.ch"
#include "report.ch"
#include "Ado.ch"
#include "vrd.ch"
#include "dtpicker.ch"
#include "xbrowse.ch"


SET DATE BRITISH
SET CENTURY ON
SET CONFIRM ON
SET DELETE ON
SET EPOCH TO 1920
SET EXCLUSIVE OFF
SET MULTIPLE ON
SET 3DLOOK ON
SET ESCA OFF
SET AUTOPEN OFF
REQUEST DBFCDX

pImprCar1()

*******************
*INFORME DE CARTERA
*******************
Function pImprCar1()
Local oRptCar

//Creamos el objeto
oRptCar:= cReci():New(oLamcla:oServer)
oRptCar:cartera()
//oRptCar:cartera_hash()
oRptCar:=nil

Return nil 
 

Re: Compilar con hmbk2 es complicado, pero...

Posted: Mon Sep 16, 2024 1:16 pm
by Antonio Linares
Prueba con el flag -n- en el fichero HBP