Página 1 de 1

Duvida, aprendendo a compilar

Enviado: 15 Jul 2011 13:12
por porter
ola pessoal, estou dando os primeiros passos para compilar meus fontes com o xHarbour, entrei aqui no forum na secao downloads, e baixei o xHarbour versao 1.1.0 e fiz a descompactacao, gerando as seguintes pastas, BIN, CONTRIB, INCLUDE, LIB, TESTS, XHDOC e os arquivos INSTALL, UNWISE32, XHARBOUR'S reference. O windows que estou trabalhando é o XP.
Criei um pequeno programa assim:

FUNCTION MAIN
? "HELLO BRAZIL"
RETURN NIL

No AUTOEXEC.NT em C:\WINDOWS\SYSTEM32, acrescentei a seguinte linha:

Set HBLIB=rtl.lib lang.lib vm.lib macro.lib pp.lib common.lib gtwin.lib rdd.lib dbfcdx.lib dbfntx.lib

agora como faço para compilar esse pequeno programa ?
Como que fica a compilaçäo contendo varios prgs, da forma que estou colocando é apenas para aprender a compilar.

desde ja obrigado.

Duvida, aprendendo a compilar

Enviado: 15 Jul 2011 14:47
por alxsts
Olá!

Creio que a maneira mais fácil é usar o programa HBMake.Exe que vem na pasta \xHarbour\Bin. Ele gera um script de compilação, com a extensão .BC.

Para criar um script, no prompt do CMD, digite HBMAKE <nome> -ex. Vai abrir uma tela onde você poderá informar todos os parâmetros e prg's a compilar. A partir da segunda vez, não precisa informar -ex, só HBMAKE <nome>.

Duvida, aprendendo a compilar

Enviado: 15 Jul 2011 14:56
por alxsts
Olá!

Em tempo:

- crie um arquivo .Bat com o conteúdo abaixo:

Código: Selecionar todos

SET PATH=%PATH%;c:\BCC55\BIN;c:\BCC55\LIB;c:\BCC55\INCLUDE;c:\xharbour\bin;c:\xharbour\lib;c:\xharbour\include;c:\hwgui\LIB;c:\hwgui\include
SET INCLUDE=%INCLUDE%;c:\Bcc55\include;c:\xHarbour\include;c:\hwgui\include
SET LIB=%LIB%;c:\Bcc55\lib;c:\xHarbour\lib;c:\hwgui\lib
SET HB_PATH=c:\XHARBOUR
%SystemRoot%\system32\cmd.exe
- crie um atalho no teu desktop que execute este .Bat. Vai abrir uma janela CMD com as configurações já ajustadas. Depois é só usar o HBMAKE como escrito anteriormente: HBMAKE Teste -ex

Duvida, aprendendo a compilar

Enviado: 15 Jul 2011 16:59
por porter
amigo, executei esse .bat que vc disse em seguida fiz assim:

HARBOUR /N /M HELLOBR.PRG

Foi gerado o HELLOBR.C

Qual é o proximo passo agora ?

Duvida, aprendendo a compilar

Enviado: 15 Jul 2011 18:31
por porter
digitei o seguinte comando na tentativa de gerar o executavel

BLD_B32 HELLOBR.C

BLD_B32 nao é reconhecido como comando interno, o que esta faltando fazer para gerar o Executavel ?

Duvida, aprendendo a compilar

Enviado: 15 Jul 2011 20:12
por alxsts
Olá!

Quando este .Bat é executado, deverá abrir uma janela do prompt do CMD.

Feito isto, posicione na pasta onde está o teu HELLOBR.PRG e digite HBMAKE HELLOBR -EX. Preencha os dados solicitados na tela que se apresenta e responda positivamente quando perguntar "Compilar App (S/N)?"

Duvida, aprendendo a compilar

Enviado: 16 Jul 2011 09:13
por porter
bom dia,
Nao estou conseguindo gerar o executavel, estive olhando no .bat que que vc passou, e tem la uma pasta C:\BCC55 e C:\hwgui, e elas nao existem na instalacao que fiz, essa instalacao eu peguei aqui no forum na sessao download como XHARBOUR 1.1.0, sera que eu deveria instalar uma versao mais atualizada, pois logo abaixo tem um outro download XHARBOUR 1.2.1 + Hwgui 2.17 + Exemplos

obrigado.

Duvida, aprendendo a compilar

Enviado: 16 Jul 2011 10:38
por Jairo Maia
Olá Porter,
porter escreveu:sera que eu deveria instalar uma versao mais atualizada, pois logo abaixo tem um outro download XHARBOUR 1.2.1 + Hwgui 2.17 + Exemplos
Na minha opinião (também de iniciante), acho que é por ai.

Instale a opção do colega Leonardo (esta que vc citou). Quando a instalação for concluida, o xHarbour estará pronto pra ser usado. Ai faça o seguinte:

Procure na área de trabalho um ícone intitulado: "Inicia Sessão com Path da Hwgui". Vc será posicionado na pasta xharbour. Mude para a pasta onde está seu exemplo.

Para vc começar a entender, siga os seguintes passos:
  • 1- Digite XBUILD e tecle Enter;
    2- Será aberto uma janela solicitando o nome do executável, digite: HELLOBR
    3- Em Type, deixe como EXE
    4- Pressione enter até next, e passe para a segunda tela
    5- Pressione enter até next novamente e passe para a tela seguinte
    6- Coloque os .PRGs do projeto, no seu caso: HELLOBR
    7- Pressione enter, e no campo C Compiler, usando as setas ou o mouse mude para BCC;
    8- Pressione com o mouse sobre Finish e pressione novamente para criar o executável.
Digite HELLOBR.EXE e veja o "HELLO BRAZIL" em sua tela.

Agora, altere seu exemplo assim:

Código: Selecionar todos

FUNCTION MAIN
 Alert( "HELLO BRAZIL" )
RETURN NIL
Para recompilar, verifique que foi criado um arquivo chamado: hellobr.exe.xbp. Então, digite apenas o seguinte:

Código: Selecionar todos

xbuild hellobr.exe.xbp
Execute hellobr e veja sua mensagem novamente.

Duvida, aprendendo a compilar

Enviado: 16 Jul 2011 11:20
por porter
amigo Jairo Maia, fico muito agradecido por sua ajuda ( aula ) estava desde ontem tentando dar esse primeiro passo, os meus sistemas estao todos compilados com o Clipper 5.2, agora vou começar a compilar com o xHarbour, com ajuda de Deus, muito esforço e os amigos aqui do forum vou começar a aprender.

obrigado.

Como gerar indices NSX em xHarbour ?

Enviado: 18 Jul 2011 15:09
por porter
ola,
Estou compilando um pequeno programa como teste, tenhos dois arqs PRG assim:
arquivos HELLOBR.PRG e FUNCOES.PRG

HELLOBR.PRG

Código: Selecionar todos

FUNCTION MAIN
CLEAR
@1,1 SAY "LINHA 1"
@2,1 SAY "LINHA 2"
@3,1 SAY "LINHA 3"
MOSTRA()
RETURN
FUNCOES.PRG

Código: Selecionar todos

FUNCTION FUNCOES
PROCEDURE MOSTRA
@ 10,01 SAY "TESTANDO FUNCAO"
RETURN .T.
Quando compilo, esta dando o seguinte erro:
Unresolved External '_HB_FUN_MOSTRA' referenced C:\HELLO\HELLOBR.OBJ'

Esta dizendo que essa funcao MOSTRA() nao existe, mas ela foi criada em FUNCOES.PRG.

Outra coisa como faço para debugar o sistema ?

obrigado.


Nota de Moderação:
por Maligno: A presente mensagem foi desmembrada de outro tópico, onde se trata de assunto totalmente diverso do que aqui se observa. Por favor, futuramente, não trate nos tópicos assuntos que a ele não estejam vinculados.