Jump to content
Fivewin Brasil

Alguem Tem SCRIPT De Compilação e Lincagem Para HARBOUR ??


edmandc

Recommended Posts

Estou com alguma dificuldade para montar um arquivo ".bat" para licar e compilar um app com diversos ".prg"  para HARBOUR

Para o Xharbour utilizo o XDev ... se alguém  (também) tiver algum esquema de Harbour com Xdev  seria muito interessante.

Fwh 10.09 e Fwh17.09   Harbour3.2   BCC588  BCC7  BCC740  Xdev.72 Multiedit 2008

 

Grato!

P.S. Estou precisando disto para testes porque estou com um erro hb_vmdo() que não consigo achar o motivo. O Linares sugeriu utilzar o Harbour. 

 

Link to comment
Share on other sites

@ECHO OFF
CLS
ECHO ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
ECHO ³ FiveWin for XHarbour 17.7 - Agosto 2017         Harbour development power  ³Ü
ECHO ³ (c) FiveTech, 1993-2002      for Microsoft Windows 95/98/NT/2000/ME and XP ³Û
ECHO ³ (c) Angelo Jos‚ Ferreira Cendon  - BAT de Compilacao do VIDA               ³Û
ECHO ³ (c) Fev/2004                                                               ³Û
ECHO ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙÛ
ECHO ÿ ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß

set lib=
rem set include=
set obj=
set bin=

set fwdir=c:\fwh1804
set hdir=c:\xhb123
set bcdir=c:\bcc73

echo principal.obj    + >>  b32.bc
echo a0101.obj   + >>  b32.bc
echo a0102.obj   + >>  b32.bc
echo c_broff.obj + >>  b32.bc
echo ftp.obj     + >>  b32.bc
echo sendmail.obj + >> b32.bc
echo printer.obj + >>  b32.bc
echo agenda.obj  + >>  b32.bc
echo FUNCS.obj   + >>  b32.bc
echo principal.obj >> b32.bc

echo principal.exe >> b32.bc
echo principal.map >> b32.bc

echo %fwdir%\lib\Fivehx.lib %fwdir%\lib\FiveHC.lib %fwdir%\lib\libmysql.lib + >> b32.bc
echo %fwdir%\lib\pgsql.lib %fwdir%\lib\libpq.lib + >> b32.bc

echo %fwdir%\lib\libmysql.lib + >> b32.bc
echo %hdir%\lib\rtl.lib + >> b32.bc
echo %hdir%\lib\vm.lib + >> b32.bc

echo %hdir%\lib\gtgui.lib + >> b32.bc
echo %hdir%\lib\lang.lib + >> b32.bc
echo %hdir%\lib\macro.lib + >> b32.bc
echo %hdir%\lib\rdd.lib + >> b32.bc
echo %hdir%\lib\dbfntx.lib + >> b32.bc
echo %hdir%\lib\dbfcdx.lib + >> b32.bc
echo %hdir%\lib\dbffpt.lib + >> b32.bc
echo %hdir%\lib\hbsix.lib + >> b32.bc
echo %hdir%\lib\debug.lib + >> b32.bc
echo %hdir%\lib\common.lib + >> b32.bc
echo %hdir%\lib\codepage.lib + >> b32.bc
echo %hdir%\lib\pp.lib + >> b32.bc
echo %hdir%\lib\pcrepos.lib + >> b32.bc
echo %hdir%\lib\ct.lib + >> b32.bc
echo %hdir%\lib\zlib.lib + >> b32.bc
echo %hdir%\lib\hbzip.lib + >> b32.bc
echo %hdir%\lib\libmisc.lib + >> b32.bc
echo %hdir%\lib\tip.lib + >> b32.bc
echo %hdir%\lib\png.lib + >> b32.bc
echo %hdir%\sqllib\lib\libmysql.lib + >> b32.bc
echo %hdir%\sqllib\lib\sqllib_xHB_123_rev9961.lib + >> b32.bc
rem echo %hdir%\lib\adordd.lib + >> b32.bc
rem echo %hdir%\lib\usrrdd.lib + >> b32.bc
rem echo %hdir%\lib\usrrddmt.lib + >> b32.bc
           
rem Uncomment these two lines to use Advantage RDD
rem echo %hdir%\lib\rddads.lib + >> b32.bc
rem echo %hdir%\lib\Ace32.lib + >> b32.bc

echo %bcdir%\lib\cw32.lib + >> b32.bc
echo %bcdir%\lib\import32.lib + >> b32.bc
echo %bcdir%\lib\uuid.lib + >> b32.bc
echo %bcdir%\lib\ws2_32.lib + >> b32.bc
echo %bcdir%\lib\psdk\odbc32.lib + >> b32.bc
echo %bcdir%\lib\psdk\rasapi32.lib + >> b32.bc
echo %bcdir%\lib\psdk\nddeapi.lib + >> b32.bc
echo %bcdir%\lib\psdk\msimg32.lib + >> b32.bc
echo %bcdir%\lib\psdk\psapi.lib + >> b32.bc
echo %bcdir%\lib\psdk\gdiplus.lib + >> b32.bc
echo %bcdir%\lib\psdk\iphlpapi.lib + >> b32.bc
echo %bcdir%\lib\psdk\shell32.lib, >> b32.bc

rem echo %hdir%\lib\hbhpdf.lib + >> b32.bc
rem echo %hdir%\lib\libharu.lib + >> b32.bc

IF EXIST principal.res echo principal.res >> b32.bc
rem uncomment this line to use the debugger and comment the following one
rem if %GT% == gtwin %bcdir%\bin\ilink32 -Gn -Tpe -s -v @b32.bc

%bcdir%\bin\ilink32 -aa -Gn -Tpe -s -v @b32.bc
rem IF ERRORLEVEL 1 GOTO LINKERROR
rem if %GT% == gtgui %bcdir%\bin\ilink32 -Gn -aa -Tpe -s -v @b32.bc
rem IF ERRORLEVEL 1 GOTO LINKERROR
ECHO * Application successfully built *
rem nuevo by Antoionio Linares - 16/05/2013
rem mshta vbscript:CreateObject("SAPI.SpVoice").Speak("Application successfully built")(Window.close)
rem mshta vbscript:CreateObject("SAPI.SpVoice").Speak("Programa construido com sucesso")(Window.close)

Link to comment
Share on other sites

sugiro que aprenda a usar a ferramenta nativa, evite as famosas gambiarras, etc.

Veja um pequeno tutorial: Iniciando em Harbour

obs: no script HBP, apenas acrescente o caminho e nome do arquivo HBC do seu ...\FWH\xxx.hbc. Caso não exista, me solicite via privado* que te envio o que criei.

* se eu demorar, contate-me por e-mail ou Facebook

[],
DevClub for Developers
Facebook DevClub
www.idlagam.com
 

Em 05/10/2021 at 17:35, edmandc disse:

Estou com alguma dificuldade para montar um arquivo ".bat" para licar e compilar um app com diversos ".prg"  para HARBOUR

Para o Xharbour utilizo o XDev ... se alguém  (também) tiver algum esquema de Harbour com Xdev  seria muito interessante.

Fwh 10.09 e Fwh17.09   Harbour3.2   BCC588  BCC7  BCC740  Xdev.72 Multiedit 2008

 

Grato!

P.S. Estou precisando disto para testes porque estou com um erro hb_vmdo() que não consigo achar o motivo. O Linares sugeriu utilzar o Harbour. 

 

 

Link to comment
Share on other sites

3 horas atrás, cendon disse:

http://www.pctoledo.com.br/forum/viewtopic.php?f=4&t=15501

O script é o mesmo, muda só as pastas de lib,include.

Dê uma olhada no link

 

Angelo, neste exemplo, o Rochinhas, só postou o BUILDH.bat, eu quero ver é como se compila as versões atuais com um .BAT, compilar com Harbour sempre foi uma dificuldade. Compilar com xHarbour, moleza. Não se acha um modo simples de compilar, perguntaram lá no inter como compilar, veio até o Liñares, para a pessoa conseguir, tiveram que ficar on line os dois(micro a micro), e no final, não se sabe como foi que ele  conseguiu compilar. Enfim, VIVA XHARBOUR Pohhhhaaa!!, kkkkkkkkkkkkkkkkkkkk

 

Link to comment
Share on other sites

Compilar em Harbour é bem simples, siga os passos abaixo q não tem erro:

 

Crie uma pasta c:\teste e dentro dela coloque o teste.prg (no código faz um hello word). Crie também um teste2.prg e dentro dele coloque qualquer coisa, isso é só para que no exemplo abaixo vc saiba colocar no script dois prgs, sendo um principal e o outro secundario. Feito isso faça o seguinte:

Crie um arquivo chamado c:\teste\teste.hbp e dentro dele coloque abaixo:

-lHBCT
-lHbWin
-lXHb
-inc
-oc:\teste\teste.exe
-d__HARBOURPRO__
-MT
c:\teste\teste.prgc:\teste\teste.prg
c:\teste\teste2.prg
 

 

Criado o arquivo teste.hbp crie o arquivo c:\teste\compila.bat com o codigo abaixo:

set path=c:\hb30\bin
hbmk2 teste.hbp

 

 

OBS: onde está c:\hb30\bin altere para o local onde está o BIN do seu harbour. 

 

Feito isso basta compilar, é muito simples.

Abraços

 

Link to comment
Share on other sites

1 hora atrás, emotta disse:

Compilar em Harbour é bem simples, siga os passos abaixo q não tem erro:

 

Crie uma pasta c:\teste e dentro dela coloque o teste.prg (no código faz um hello word). Crie também um teste2.prg e dentro dele coloque qualquer coisa, isso é só para que no exemplo abaixo vc saiba colocar no script dois prgs, sendo um principal e o outro secundario. Feito isso faça o seguinte:

Crie um arquivo chamado c:\teste\teste.hbp e dentro dele coloque abaixo:

-lHBCT
-lHbWin
-lXHb
-inc
-oc:\teste\teste.exe
-d__HARBOURPRO__
-MT
c:\teste\teste.prgc:\teste\teste.prg
c:\teste\teste2.prg
 

 

Criado o arquivo teste.hbp crie o arquivo c:\teste\compila.bat com o codigo abaixo:

set path=c:\hb30\bin
hbmk2 teste.hbp

 

 

OBS: onde está c:\hb30\bin altere para o local onde está o BIN do seu harbour. 

 

Feito isso basta compilar, é muito simples.

Abraços

 

Eduardo, neste exemplo, como eu incorporo os meus *.RES( vários)? E outra, o HBMK2.exe, seria o equivalente ao o ILINK32.exe? Se sim, qual o melhor ou diferenças?

Link to comment
Share on other sites

Eduardo, veja se você consegue compilar este exemplo do Alê Seribeli. Usando HBMK2.exe. Eu acho que foi por isso que eu desisti de usar HARBOUR. Não consegui na época, e não consegui compilar hoje, usando esse Kpeta do HBMK2.exe.  kkkkkkkkkkkkkkkkk

 

Download completo -> pelo amor de Deus, diga onde está errado, pois não consegui achar... Eu não sei porquê cargas dágua, eu não vou com cara do HARBOUR. kkkkkkkk

 

https://mega.nz/file/hRtiVSgB#DfWDR2kixFKrIe7IOaZRRXGMb-YbjFchzWHInsE4ptE

 

Obg. abs.

Link to comment
Share on other sites

50 minutos atrás, kapiaba disse:

Eduardo, veja se você consegue compilar este exemplo do Alê Seribeli. Usando HBMK2.exe. Eu acho que foi por isso que eu desisti de usar HARBOUR. Não consegui na época, e não consegui compilar hoje, usando esse Kpeta do HBMK2.exe.  kkkkkkkkkkkkkkkkk

 

Download completo -> pelo amor de Deus, diga onde está errado, pois não consegui achar... Eu não sei porquê cargas dágua, eu não vou com cara do HARBOUR. kkkkkkkk

 

https://mega.nz/file/hRtiVSgB#DfWDR2kixFKrIe7IOaZRRXGMb-YbjFchzWHInsE4ptE

 

Obg. abs.

Somos dois!

Gostaria muito de tentar, mas nunca consigo compilar todos os meus fontes!

Link to comment
Share on other sites

Verdade Macs, veja esse exemplo por exemplo:

O que funciona "Redondo" no xHarbour, no HARBOUR necas de pitibiribas. Compilador Metido a besta. Coisa de São Paulino, Pô!! kkkkkkkkkkk

Tente com este .BAT que eu criei, funciona de boas, igual é no xHarbour:

https://mega.nz/file/II9GTBLZ#h4aAe8VgDqbICFsLRu8lXI5xLH-YbTq3Z3ekImYvOFg

STATIC Function GetFolderToZip() // -> PBACKUP.PRG
	   // Original - Mudei em: 11/04/2020 - Joao
   LOCAL cPathFiles := StrCapFirst( cFilePath( GetModuleFileName( GetInstance() ) ) )
   //LOCAL cFolder    := cGetDir( "Selecionar a Pasta de Origem", cPathFiles )
   LOCAL lLoadFiles := 0
   LOCAL cTitle, cPath, cCarpOrigem, cPathDest, cFolder
	   cPath := GETCURDIR()
	   cTitle    := "Selecione a Pasta de Origem Para Backup."
   cCarpOrigem := "Selecione a Pasta Onde Copiar as Novidades."
	   #IFDEF __XHARBOUR__  // Modificado em: 11/04/2020 - Joao
	      // if xHarbour - Funciona PERFEITO em HARBOUR explode em erros.
	      cFolder := cGetDir( cTitle, cPath,, cCarpOrigem,                   ;
                          BIF_RETURNONLYFSDIRS + BIF_DONTGOBELOWDOMAIN + ;
                          BIF_USENEWUI + BIF_NONEWFOLDERBUTTON )
	   #ELSE
	      // if harbour
      cFolder    := cGetDir( "Selecionar a Pasta de Origem", cPathFiles )
	
   #ENDIF
	   IF .NOT. Empty( cFolder )
	      aSize( aFilesToZip, 0 )
	      cSourceZip := RTrim( cFolder ) + "\"
      oSourceZip:Refresh()
	      MsgRun( "Lendo arquivos e pastas", ;
               "Espere por Favor",       ;
               { || lLoadFiles := GetFilesToZip( cSourceZip ) } )
	      IF lLoadFiles == 1
	         MsgAlert( "Não há arquivos para fazer a cópia" +CRLF+     ;
                   "de segurança na pasta selecionada."+CRLF+CRLF+ ;
                   "Pressione o botão Aceitar para continuar..." )
	      ENDIF
	      IF lLoadFiles == 2
	         MsgStop( "O tamanho dos arquivos excede o limite de" +CRLF+;
                  "Capacidade de 2 GB em arquivos compactados."+CRLF+CRLF+;
                  "O backup não pode ser criado."+CRLF+CRLF+;
                  "Pressione o botão Aceitar para continuar.. " )
	      ENDIF
	   ENDIF
	   IF Empty( cFolder ) .OR. lLoadFiles != 0
	      aSize( aFilesToZip, 0 )
	      cSourceZip := ""
	      nSizeFiles := 0.000
	      oSourceZip:Refresh()
	   ENDIF
	   oGrid:GoTop()
   oGrid:Refresh()
Return NIL

Abs

Link to comment
Share on other sites

4 horas atrás, kapiaba disse:

Eduardo, veja se você consegue compilar este exemplo do Alê Seribeli. Usando HBMK2.exe. Eu acho que foi por isso que eu desisti de usar HARBOUR. Não consegui na época, e não consegui compilar hoje, usando esse Kpeta do HBMK2.exe.  kkkkkkkkkkkkkkkkk

 

Download completo -> pelo amor de Deus, diga onde está errado, pois não consegui achar... Eu não sei porquê cargas dágua, eu não vou com cara do HARBOUR. kkkkkkkk

 

https://mega.nz/file/hRtiVSgB#DfWDR2kixFKrIe7IOaZRRXGMb-YbjFchzWHInsE4ptE

 

Obg. abs.

pô Kapi, primeira tenta vc configurar o HBP e se não conseguir posta ai e tento ajudar...

Link to comment
Share on other sites

  • 3 weeks later...
Em 23/10/2021 at 21:20, edmandc disse:

Em Tempo: 

O Linares me sugeriu a utilização do Visual Studio da Microsoft Community 2019 (gratuito) para inspecionar eventuais erros no aplicativo.

e vi que, realmente, é  muito  interessante.

Assim como o Linhares, além VSCode também recomendo xEdit 7.0 da Xailer. Muito simples, versátil e fácil de configurar, vc pode usar tanto xHarbour como Harbour.

segue link, Free: https://download.xailer.com/?download=3

Link to comment
Share on other sites

2 horas atrás, Jmsilva disse:

Assim como o Linhares, além VSCode também recomendo xEdit 7.0 da Xailer. Muito simples, versátil e fácil de configurar, vc pode usar tanto xHarbour como Harbour.

segue link, Free: https://download.xailer.com/?download=3

Minha humilde opinião, é que não se deve precisar nem de um nem do outro. Mas entendo que a experiência vem com o tempo. Legal mesmo, é abrir um programa, seja de quem seja, e só de "bater" os olhos no programa, dizer para si próprio: PUTZ, tá louco? E depois, tentar mostrar ao programador iniciante como deveria ser a melhor lógica. Gostoso, é abrir o ERROR.LOG, e ir na linha que o programa "quebrou", e dizer: PQP, como eu sou burro. kkkkkkkkkkk, eu faço isso a torto e a direito, mesmo porquê, não sou perfeito. Sou bom, mas não sou nem um VAGNER WIRTS, kkkkkkkk. Pelo que eu vi no forum inter, em breve, o fivewin terá um DEBUGADOR próprio, mas mesmo que tenha, prefiro confiar no meu taco. Mas, para os novos, tudo é válido e um aprendizado. Somo eternos aprendizes. Forte abraço a todos. Obg. abs.

Link to comment
Share on other sites

3 horas atrás, kapiaba disse:

Minha humilde opinião, é que não se deve precisar nem de um nem do outro. Mas entendo que a experiência vem com o tempo. Legal mesmo, é abrir um programa, seja de quem seja, e só de "bater" os olhos no programa, dizer para si próprio: PUTZ, tá louco? E depois, tentar mostrar ao programador iniciante como deveria ser a melhor lógica. Gostoso, é abrir o ERROR.LOG, e ir na linha que o programa "quebrou", e dizer: PQP, como eu sou burro. kkkkkkkkkkk, eu faço isso a torto e a direito, mesmo porquê, não sou perfeito. Sou bom, mas não sou nem um VAGNER WIRTS, kkkkkkkk. Pelo que eu vi no forum inter, em breve, o fivewin terá um DEBUGADOR próprio, mas mesmo que tenha, prefiro confiar no meu taco. Mas, para os novos, tudo é válido e um aprendizado. Somo eternos aprendizes. Forte abraço a todos. Obg. abs.

Sim tbm vou na raça! mas só para saber a fivewin já tem o debug.

Gráfico

https://drive.google.com/file/d/1xvFGd52hhFn80Oz57Oz8sQ4DggRfjsm9/view?usp=sharing

Console

https://drive.google.com/file/d/1BhABOw8hTXAA5xhPHRvVfupT9lqhKTLL/view?usp=sharing

 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...