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
Moderador: Moderadores
-
marco.prodata
- Usuário Nível 3

- Mensagens: 238
- Registrado em: 30 Nov 2018 10:07
- Localização: Caratinga
- clodoaldomonteiro
- Usuário Nível 4

- Mensagens: 821
- Registrado em: 30 Dez 2006 13:17
- Localização: Teresina-PI
- Contato:
Usar algo como #ifdef nos arquivos .hbp
Olá.
Você pode criar um .bat para cada tipo de compilação que vc precisar.
T+
Você pode criar um .bat para cada tipo de compilação que vc precisar.
T+
At. Clodoaldo Monteiro
Linguagens: Clipper / Harbour
Área de Atuação: Sistemas de gestão para Prefeituras Municipais
Fones: (86)3223-0653, 98859-0236
www.simplesinformatica.com.br
Linguagens: Clipper / Harbour
Área de Atuação: Sistemas de gestão para Prefeituras Municipais
Fones: (86)3223-0653, 98859-0236
www.simplesinformatica.com.br
-
marco.prodata
- Usuário Nível 3

- Mensagens: 238
- Registrado em: 30 Nov 2018 10:07
- Localização: Caratinga
Usar algo como #ifdef nos arquivos .hbp
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.clodoaldomonteiro escreveu:Olá.
Você pode criar um .bat para cada tipo de compilação que vc precisar.
T+
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Usar algo como #ifdef nos arquivos .hbp
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.
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.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Usar algo como #ifdef nos arquivos .hbp
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
{SISTEMAS_PATH_TO_HMG}hmgsearch.prg
{SISTEMAS_PATH_TO_HMG}vhmgsearch.prg
hmglookup.prg
hmglookupsearch.prg
myalert.prg
-
marco.prodata
- Usuário Nível 3

- Mensagens: 238
- Registrado em: 30 Nov 2018 10:07
- Localização: Caratinga
Usar algo como #ifdef nos arquivos .hbp
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
hbmk2 prog.exe.hbp -env:teste=1
e depois no .hbp usar
{teste}-llibteste
Era isso que precisava, obrigado pelas dicas
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Usar algo como #ifdef nos arquivos .hbp
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.
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.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/