Compilando com hbMake

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

chrissoares
Usuário Nível 1
Usuário Nível 1
Mensagens: 45
Registrado em: 23 Dez 2009 14:35
Localização: Belo Horizonte/MG
Contato:

Compilando com hbMake

Mensagem por chrissoares »

Boa tarde!

Estou tentando utilizar o hbMake para compilar minhas aplicações, vi alguns post's elogiando a sua falidade de uso e tal.
Eu o executei com o comando:

Código: Selecionar todos

hbmake make.bc -ex
A tela da configuração do hbMake ficou assim:

Código: Selecionar todos

╔════  HbMake v1.30 - xHarbour Make Utility            Opções de Ambiente  ══════╗
║Selecione o SO Win32▼ Selecione Compilador C  BCC  ▼  GT/GUI lib CONSOLE     ▼ ║
║Rdd Terceiros  None      ▼   [ ] Comprimir App ?    [ ] use xHarbour[.dll|.so]║
║Obj Files Dir obj                             Editor de errorlog:  notepad  ▼ ║
║Nome Executável: meuapp                             [ ] Create dll            ║
║                             Opções do xHarbour                               ║
║[ ] Declaração Automática de Memvar /a [ ] Variáveis são assumidas M-> /v     ║
║[ ] Info. Debug /b                     [ ] Suprime info de número da linha /l ║
║[ ] Gera saída pré-processada /p       [ ] Compila apenas o módulo /m         ║
║User Defines:                          User Include Path:                     ║
║[ ] Usa Libs Externas ?                [ ] xHarbour FWH                       ║
║Resource file Name:                                                           ║
║Qtd de PRGs por linha, no makefile:   5                                       ║
║[ ] Usar a biblioteca Multi Thread ?   Nível de Warnings /w 0                 ║
║[ ] Generate C-source, not PCode (-go3)                                       ║
║Informe o PRG principal da sua aplicação: MP.PRG                              ║
║                               HbMake options                                 ║
║[ ] Create #DEPENDS from #include      [ ] Scan recursive                     ║
║Excluding these extensions : .ch                                              ║
║                                                                              ║
║    Compilar app ? (S/N)  S                                                   ║
║    Forçar recompilação para todos PRGs </f> ? (S/N)                          ║
║                                                                              ║
║                                                                              ║
╚═   <Tab>-Avança <Sh-Tab>-Volta <Enter>-Sel. <↑↓>-Muda Sel. <Espc>-Abre Box   ══╝
A parte da compilação acontece sem nenhum erro, tudo tranquilo. Ha hora do Link fica uns 2 minutos aparecendo warnings referente a funções declaradas em prgs diferentes, mas isto não existe já conferi algumas e antes de usar o hbMake compilava normalmente. Abaixo esta um pouco das mensagems so para analise:

Código: Selecionar todos

Warning: Public symbol '_HB_FUN_FNSBTT' defined in both module D:\SISTEMAS\CP80\
OBJ\SIROT.OBJ and D:\SISTEMAS\CP80\OBJ\SSROT.OBJ
Warning: Public symbol '_HB_FUN_SBKY' defined in both module D:\SISTEMAS\CP80\OB
J\SIROT.OBJ and D:\SISTEMAS\CP80\OBJ\SSROT.OBJ
Warning: Public symbol '_HB_FUN_CHAMADOS' defined in both module D:\SISTEMAS\CP8
0\OBJ\SIROT.OBJ and D:\SISTEMAS\CP80\OBJ\SSROT.OBJ
Warning: Public symbol '_HB_FUN_SAIDASUMARIA' defined in both module D:\SISTEMAS
\CP80\OBJ\SIROT.OBJ and D:\SISTEMAS\CP80\OBJ\SSROT.OBJ
Warning: Public symbol '_HB_FUN_SCREENSAVER' defined in both module D:\SISTEMAS\
CP80\OBJ\SIROT.OBJ and D:\SISTEMAS\CP80\OBJ\SSROT.OBJ
Warning: Public symbol '_HB_FUN_COMPARQ' defined in both module D:\SISTEMAS\CP80
\OBJ\SIROT.OBJ and D:\SISTEMAS\CP80\OBJ\SSROT.OBJ
Warning: Public symbol '_HB_FUN_MEMORIADISP' defined in both module D:\SISTEMAS\
CP80\OBJ\SIROT.OBJ and D:\SISTEMAS\CP80\OBJ\SSROT.OBJ
Warning: Public symbol '_HB_FUN_SBCA' defined in both module D:\SISTEMAS\CP80\OB
J\SIROT.OBJ and D:\SISTEMAS\CP80\OBJ\SSROT.OBJ
Warning: Public symbol '_HB_FUN_INDEXAR' defined in both module D:\SISTEMAS\CP80
\OBJ\SIROT.OBJ and D:\SISTEMAS\CP80\OBJ\SSROT.OBJ
Warning: Public symbol '_HB_FUN___REG' defined in both module D:\SISTEMAS\CP80\O
BJ\SIROT.OBJ and D:\SISTEMAS\CP80\OBJ\SSROT.OBJ
Warning: Public symbol '_HB_FUN_SBFI' defined in both module D:\SISTEMAS\CP80\OB
J\SIROT.OBJ and D:\SISTEMAS\CP80\OBJ\SSROT.OBJ
É apenas uma tela de Warning, existem muitas telas iguais a esta.
Alguem poderia me dizer onte estou errando ?
Estou usando o xHarbour 1.2.0.

Muito Obrigado!
Christiano R. Soares
Analista Desenvolvedor
www.bhdados.com.br

'Tudo o que fizerem, façam de todo o coração, como para o Senhor, e não para os homens, sabendo que receberão do Senhor a recompensa da herança. É a Cristo, o Senhor, que vocês estão servindo. '
Colossenses 3:23-24
Avatar do usuário
Vander
Usuário Nível 3
Usuário Nível 3
Mensagens: 214
Registrado em: 23 Jul 2004 01:43
Localização: João Monlevade - MG

Re: Compilando com hbMake

Mensagem por Vander »

Olá chrissoares;

Eu utilizo o HBMake e funciona perfeitamente, marque as opções abaixo e recompile
[x] Compila apenas o módulo /m
"marcar todos os prg´s do projeto"
[x] xHarbour FWH
"Será solicitado o local de instalação do xHarbour"
se usar lib de terceiros
[x] Usa Libs Externas ?
"marcar as lib´s utilizadas"

Não uso GT/GUI mas ajo que o princípio é o mesmo.

Vander
HbMake v1.17
xHarbour build 0.99.70 Intl. (SimpLex)
Borland C++ 5.5.1
fivewin 6.12 (FREE)
Workshop 4.5
MEdit
Stanis Luksys
Colaborador
Colaborador
Mensagens: 1329
Registrado em: 18 Jun 2005 03:04
Localização: São Paulo
Contato:

Re: Compilando com hbMake

Mensagem por Stanis Luksys »

Olá,

Mas aí o que a mesagem diz é que você está declarando a mesma função em dois lugares diferentes, por exemplo:

Código: Selecionar todos

Warning: Public symbol '_HB_FUN_SBFI' defined in both module D:\SISTEMAS\CP80\OBJ\SIROT.OBJ and D:\SISTEMAS\CP80\OBJ\SSROT.OBJ 
Você tem estes dois prgs?
SIROT.PRG e SSROT.PRG?

Parece que a função SBFI() está sendo declarada nos dois. Se isso for verdadeiro talvez você consiga contronar declarando como STATIC, mas o ideal seria retirar de algum dos dois PRGs, se é que elas fazem a mesma coisa.

Abraços!
Stanis Luksys
sites.google.com/hblibs

Apoiar e se utilizar de projetos opensource não é uma questão de boicote, mas sim de liberdade.
Utilize, aprimore e distribua.
chrissoares
Usuário Nível 1
Usuário Nível 1
Mensagens: 45
Registrado em: 23 Dez 2009 14:35
Localização: Belo Horizonte/MG
Contato:

Re: Compilando com hbMake

Mensagem por chrissoares »

Stanis Luksys escreveu:Olá,

Mas aí o que a mesagem diz é que você está declarando a mesma função em dois lugares diferentes, por exemplo:
Ola Stanis!

Obrigado pelo interece, mas o problema não é estar declarado em mais de um PRG, como eu havia dito:
ChrisSoares escreveu:A parte da compilação acontece sem nenhum erro, tudo tranquilo. Ha hora do Link fica uns 2 minutos aparecendo warnings referente a funções declaradas em prgs diferentes, mas isto não existe já conferi algumas e antes de usar o hbMake compilava normalmente. Abaixo esta um pouco das mensagems so para analise:
O sistema compila e já esta rodando, graças a Deus, mas tem esse incoviniente que não acontece quando eu uso meu Makefile antigo. Outra diferênça é que compilando com o hbMake, o sistema esta ficando maior (Utilizando mais MB), com o makefile antigo ele fica em torno de 4mb, com o hbMake ele esta ocupando 10mb. Acho que pode ter bibliotecas além das que eu uso, depois vou dar uma olhada nisso e tentar descobrir.

Gostaria de Agradecer ao Vander e ao Stanis pela atenção.

Abraços a todos.
Christiano R. Soares
Analista Desenvolvedor
www.bhdados.com.br

'Tudo o que fizerem, façam de todo o coração, como para o Senhor, e não para os homens, sabendo que receberão do Senhor a recompensa da herança. É a Cristo, o Senhor, que vocês estão servindo. '
Colossenses 3:23-24
Stanis Luksys
Colaborador
Colaborador
Mensagens: 1329
Registrado em: 18 Jun 2005 03:04
Localização: São Paulo
Contato:

Re: Compilando com hbMake

Mensagem por Stanis Luksys »

Olá,

Estranho, uma vez que pela sua tela o nível de warnings já estar em zero. Faz algum tempo que não uso o hbmake e sinceramente vou ficar te devendo essa. Agora, sem querer desviar muito, você já tentou o Harbour? Ou está preso a muitas libs? Estou achando bem legal o modo de compilar com ele, e até dizem que seu desenvolvimento está mais ativo e que no momento está valendo mais a pena.

Abraços!
Stanis Luksys
sites.google.com/hblibs

Apoiar e se utilizar de projetos opensource não é uma questão de boicote, mas sim de liberdade.
Utilize, aprimore e distribua.
chrissoares
Usuário Nível 1
Usuário Nível 1
Mensagens: 45
Registrado em: 23 Dez 2009 14:35
Localização: Belo Horizonte/MG
Contato:

Re: Compilando com hbMake

Mensagem por chrissoares »

Como vai Stanis!

Eu estou mesmo migrando para o Harbour, mas ainda tenho algumas coisas a acertar antes de poder passar pela migração.

Eu acredito que esse problema esteja ligado a chamadas de macro que existem dentro do meu sistema. Quando passei a compilá-lo com o xHarbour fui a visado para trocar todas as chamadas de função do tipo DO FUNÇÃO WITH..., mas com a correria acabei deixando pra lá. Quando tentei compilar com o xHarbour 1.2.1 deu erro nessas chamadas, mas com a versão 1.2.0 esta compilando.
Outro fato é que ao trocar algumas chamadas desta pela forma correta, percebi que o tamanho final do EXE diminuil, então acho que pode mesmo estar relacionado.

Ao observar, verifiquei que não são todos os arquivos do sistema que apresentam esse Warning, mas todos que apresentam listam todas as funções relacionando-as aos outros arquivos que tem o Warning. O arquivo de log chega aos 14Mb.

Mais uma vez, quero lhe agradecer pela atenção que você dá não so aos problemas que apresento mas a todos, vejo que você é bem ativo no forum e ajuda uma grande quantidade de usuários assim como eu.

Abraços, até mais!
Christiano R. Soares
Analista Desenvolvedor
www.bhdados.com.br

'Tudo o que fizerem, façam de todo o coração, como para o Senhor, e não para os homens, sabendo que receberão do Senhor a recompensa da herança. É a Cristo, o Senhor, que vocês estão servindo. '
Colossenses 3:23-24
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Re: Compilando com hbMake

Mensagem por asimoes »

chrissoares escreveu:DO FUNÇÃO WITH
Esta sintaxe é suportada no Harbour.
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
chrissoares
Usuário Nível 1
Usuário Nível 1
Mensagens: 45
Registrado em: 23 Dez 2009 14:35
Localização: Belo Horizonte/MG
Contato:

Re: Compilando com hbMake

Mensagem por chrissoares »

asimoes escreveu:Esta sintaxe é suportada no Harbour.
Sim, já constatei isto, obrigado. Em breve vou estar compilando meu sistema com ele.

Abraços!
Christiano R. Soares
Analista Desenvolvedor
www.bhdados.com.br

'Tudo o que fizerem, façam de todo o coração, como para o Senhor, e não para os homens, sabendo que receberão do Senhor a recompensa da herança. É a Cristo, o Senhor, que vocês estão servindo. '
Colossenses 3:23-24
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7929
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

Re: Compilando com hbMake

Mensagem por Itamar M. Lins Jr. »

O Harbour é mais "fiel" a sintaxe clipper do que o xHarbour, isso foi um dos motivos da criação do xHarbour.

Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Avatar do usuário
Daiane
Usuário Nível 3
Usuário Nível 3
Mensagens: 122
Registrado em: 28 Out 2014 16:19
Localização: Feira de Santana - BA

Compilando com hbMake

Mensagem por Daiane »

Galera tbm to tentando compilar com as mesmas configurações do amigo ai
mas da o seguinte erro:

Código: Selecionar todos

xHarbour Compiler build 1.2.1 (SimpLex) (Rev. 9421)
Copyright 1999-2011, http://www.xharbour.org http://www.harbour-project.org/
Compiling 'D:\MFISCOWIN\CV552.PRG'...
100200300400500600Lines 630, Functions/Procedures 3
Generating C source output to 'obj\CV552.c'...
Done.

Building object module for 'obj\CV552.c'
using C compiler 'BCC32' as defined in 'C:\xharbour_12.05\bin\harbour.cfg'...
Exec: BCC32  -c -D__EXPORT__ -IC:\xharbour_12.05\include  -d -LC:\xharbour_12.05\lib -oobj\CV552.obj obj\CV552.c
Done.
Deleting: "obj\CV552.c"
Done.
xHarbour Compiler build 1.2.1 (SimpLex) (Rev. 9421)
Copyright 1999-2011, http://www.xharbour.org http://www.harbour-project.org/
Compiling 'CV601.PRG'...

CV601.PRG(42) Error E0001  Statement not allowed outside of procedure or function

CV601.PRG(43) Error E0001  Statement not allowed outside of procedure or function

CV601.PRG(45) Error E0001  Statement not allowed outside of procedure or function

CV601.PRG(46) Error E0001  Statement not allowed outside of procedure or function

CV601.PRG(58) Error E0001  Statement not allowed outside of procedure or function

CV601.PRG(59) Error E0001  Statement not allowed outside of procedure or function

CV601.PRG(60) Error E0001  Statement not allowed outside of procedure or function

CV601.PRG(61) Error E0001  Statement not allowed outside of procedure or function

CV601.PRG(62) Error E0001  Statement not allowed outside of procedure or function

CV601.PRG(63) Error E0001  Statement not allowed outside of procedure or function

CV601.PRG(64) Error E0001  Statement not allowed outside of procedure or function

CV601.PRG(65) Error E0001  Statement not allowed outside of procedure or function

CV601.PRG(66) Error E0001  Statement not allowed outside of procedure or function

CV601.PRG(67) Error E0001  Statement not allowed outside of procedure or function

CV601.PRG(68) Error E0001  Statement not allowed outside of procedure or function

CV601.PRG(69) Error E0001  Statement not allowed outside of procedure or function

CV601.PRG(70) Error E0001  Statement not allowed outside of procedure or function

CV601.PRG(71) Error E0001  Statement not allowed outside of procedure or function

CV601.PRG(72) Error E0001  Statement not allowed outside of procedure or function

CV601.PRG(74) Error E0001  Statement not allowed outside of procedure or function

CV601.PRG(75) Error E0001  Statement not allowed outside of procedure or function

CV601.PRG(76) Error E0001  Statement not allowed outside of procedure or function

CV601.PRG(77) Error E0001  Statement not allowed outside of procedure or function

CV601.PRG(78) Error E0001  Statement not allowed outside of procedure or function

CV601.PRG(80) Error E0001  Statement not allowed outside of procedure or function

CV601.PRG(81) Error E0001  Statement not allowed outside of procedure or function

CV601.PRG(82) Error E0001  Statement not allowed outside of procedure or function

CV601.PRG(84) Error E0001  Statement not allowed outside of procedure or function

CV601.PRG(85) Error E0001  Statement not allowed outside of procedure or function

CV601.PRG(86) Error E0001  Statement not allowed outside of procedure or function

CV601.PRG(87) Error E0001  Statement not allowed outside of procedure or function

CV601.PRG(88) Error E0001  Statement not allowed outside of procedure or function

CV601.PRG(89) Error E0001  Statement not allowed outside of procedure or function

CV601.PRG(91) Error E0001  Statement not allowed outside of procedure or function

CV601.PRG(92) Error E0001  Statement not allowed outside of procedure or function

CV601.PRG(93) Error E0001  Statement not allowed outside of procedure or function

CV601.PRG(94) Error E0001  Statement not allowed outside of procedure or function

CV601.PRG(95) Error E0001  Statement not allowed outside of procedure or function

CV601.PRG(96) Error E0001  Statement not allowed outside of procedure or function

CV601.PRG(97) Error E0001  Statement not allowed outside of procedure or function

CV601.PRG(98) Error E0001  Statement not allowed outside of procedure or function

CV601.PRG(99) Error E0001  Statement not allowed outside of procedure or function

100

CV601.PRG(100) Error E0001  Statement not allowed outside of procedure or function

CV601.PRG(101) Error E0001  Statement not allowed outside of procedure or function

CV601.PRG(102) Error E0001  Statement not allowed outside of procedure or function

CV601.PRG(103) Error E0001  Statement not allowed outside of procedure or function

CV601.PRG(105) Error E0001  Statement not allowed outside of procedure or function

CV601.PRG(106) Error E0001  Statement not allowed outside of procedure or function

CV601.PRG(107) Error E0001  Statement not allowed outside of procedure or function

CV601.PRG(108) Error E0001  Statement not allowed outside of procedure or function

CV601.PRG(109) Error E0001  Statement not allowed outside of procedure or function

CV601.PRG(111) Error E0001  Statement not allowed outside of procedure or function

CV601.PRG(118) Error E0001  Statement not allowed outside of procedure or function

CV601.PRG(119) Error E0001  Statement not allowed outside of procedure or function

CV601.PRG(120) Error E0001  Statement not allowed outside of procedure or function

CV601.PRG(121) Error E0001  Statement not allowed outside of procedure or function

CV601.PRG(122) Error E0001  Statement not allowed outside of procedure or function

CV601.PRG(123) Error E0001  Statement not allowed outside of procedure or function

CV601.PRG(124) Error E0001  Statement not allowed outside of procedure or function

CV601.PRG(126) Error E0001  Statement not allowed outside of procedure or function

CV601.PRG(128) Error E0001  Statement not allowed outside of procedure or function

200

300

61 errors

No code generated
Alguem pode me ajudar?
XHb 1.2.1 + FW 12.05 + Pelles C IDE
"Eu adoraria mudar o mundo, mas não me deram o código-fonte."
Kapiaba
Colaborador
Colaborador
Mensagens: 1908
Registrado em: 07 Dez 2012 16:14
Localização: São Paulo
Contato:

Compilando com hbMake

Mensagem por Kapiaba »

Responder