Página 1 de 1
Usar algo como #ifdef nos arquivos .hbp
Enviado: 14 Nov 2023 08:53
por marco.prodata
Caros,
É possível usar algo como o #ifdef nos arquivos .hbp?
Estou precisando de algo assim no arquivo .hbp:
#ifdef TESTE
-lteste1
#else
-lteste2
#endif
Nesse caso não é pra compilação entre linux e windows, isso sei que tem como fazer com o {win} ou {linux} na frente.
Usar algo como #ifdef nos arquivos .hbp
Enviado: 14 Nov 2023 14:59
por clodoaldomonteiro
Olá.
Você pode criar um .bat para cada tipo de compilação que vc precisar.
T+
Usar algo como #ifdef nos arquivos .hbp
Enviado: 14 Nov 2023 17:11
por marco.prodata
clodoaldomonteiro escreveu:Olá.
Você pode criar um .bat para cada tipo de compilação que vc precisar.
T+
Sim, já considerei essa opção, mas como o hbmk2 é uma ferramenta muito poderosa, estou pesquisando pra ver se consigo resolver essa situação de uma forma "melhor", gerando o minimo esforço futuro.
Usar algo como #ifdef nos arquivos .hbp
Enviado: 15 Nov 2023 09:51
por JoséQuintas
A princípio acho a necessidade meio anormal, porque vai gerar EXE sem nem saber qual a LIB usada.
Mas dê uma olhada no manual do HBMK2, ou em modelos existentes no Harbour.
Se não me engano, dá pra testar se arquivo existe e outras coisas mais.
hbmk2 -longhelp
ou direto no github
https://github.com/harbour/core/blob/ma ... 2.pt_BR.md
O que eu uso é um "pré-hbmk2", e nele faço o que eu quero antes de chamar hbmk2.
Usar algo como #ifdef nos arquivos .hbp
Enviado: 15 Nov 2023 23:21
por Vlademiro
Vc pode criar uma variavel de ambiente. E colocar essa variavel no começo da linha entre chaves. Como abaixo. Assim, o arquivo só entra na compilação se essa variavel tiver declarada. No hbp abaixo a variavel é SISTEMAS_PATH_TO_HMG
{SISTEMAS_PATH_TO_HMG}hmgsearch.prg
{SISTEMAS_PATH_TO_HMG}vhmgsearch.prg
hmglookup.prg
hmglookupsearch.prg
myalert.prg
Usar algo como #ifdef nos arquivos .hbp
Enviado: 16 Nov 2023 08:42
por marco.prodata
Resolvido, o hbmk2 tem como setar variaveis de ambiente direto na linha de comando como:
hbmk2 prog.exe.hbp -env:teste=1
e depois no .hbp usar
{teste}-llibteste
Era isso que precisava, obrigado pelas dicas
Usar algo como #ifdef nos arquivos .hbp
Enviado: 16 Nov 2023 12:22
por JoséQuintas
Já que assim resolve, cria HBC para as LIBs.
exemplo1:
Supondo que fossem 2 HWGUI de versões diferentes, em pastas diferentes:
HWGUI 2.17 e hwgui 2.21
\hwgui217\hwgui.hbc
#\hwgui221\hwgui.hbc
e nos arquivos hbc:
incpaths=include
libpaths=lib
as pastas são relativas à localização do hbc, então cada hbc vai indicar uma lib diferente de pasta diferente.
exemplo2:
Indica no projeto que pasta pesquisar
-L\hwgui217
#-L\hwgui221
hwgui.hbc
Neste caso a pasta pode indicar pasta de HBC ou pasta de LIB
Quando quiser trocar, é só tirar # de um e colocar no outro.