Pessoal,
Eu já inseri nos prg do meu sistema as declarações #IfDef __DOS__ para que ele saiba o que fazer quando as funções forem usadas no modo console. Mas não sei como informar isso ao compilar.
Gostaria de saber isso no Harbour e no xHarbour pois ainda não decidi qual dos dois vou utilizar.
Quem sabe aí, por favor me diga.
Como se passa uma diretiva ao compilar?
Moderador: Moderadores
-
ricardo-barros
- Usuário Nível 3

- Mensagens: 104
- Registrado em: 29 Out 2009 20:12
- Localização: Fortaleza
-
alxsts
- Colaborador

- Mensagens: 3092
- Registrado em: 12 Ago 2008 15:50
- Localização: São Paulo-SP-Brasil
Re: Como se passa uma diretiva ao compilar?
Olá!
A informação abaixo funciona no xHarbour. Não posso afirmar que funcione no Harbour mas, acredito que sim pois vem desde o Clipper.
O que você precisa é passar esse parâmetro na compilação:
- se estiver usando HBMake, na seção Opções do xHarbour / User Defines, informe o teu define ( __DOS__ ) .
- se estiver compilando pela linha de comando, use o switch /d ( /d__DOS__ )
Naturalmente, como você já mencionou, é preciso tratar isto na aplicação:
A informação abaixo funciona no xHarbour. Não posso afirmar que funcione no Harbour mas, acredito que sim pois vem desde o Clipper.
O que você precisa é passar esse parâmetro na compilação:
- se estiver usando HBMake, na seção Opções do xHarbour / User Defines, informe o teu define ( __DOS__ ) .
- se estiver compilando pela linha de comando, use o switch /d ( /d__DOS__ )
Naturalmente, como você já mencionou, é preciso tratar isto na aplicação:
Código: Selecionar todos
Function Main()
#ifDef __DOS__
Alert( "Versao DOS" )
#else
Alert( "Versao Foo" )
#endif
// comandos comuns às duas versões...
Return NIL
[]´s
Alexandre Santos (AlxSts)
Alexandre Santos (AlxSts)
-
ricardo-barros
- Usuário Nível 3

- Mensagens: 104
- Registrado em: 29 Out 2009 20:12
- Localização: Fortaleza
Re: Como se passa uma diretiva ao compilar?
Obrigado, colega.
Mais alguém poderia dizer como eu faço isso (agora no Harbour 2.0)?
Eu uso o Hbmk2 pra compilar.
Mais alguém poderia dizer como eu faço isso (agora no Harbour 2.0)?
Eu uso o Hbmk2 pra compilar.
-
alxsts
- Colaborador

- Mensagens: 3092
- Registrado em: 12 Ago 2008 15:50
- Localização: São Paulo-SP-Brasil
Re: Como se passa uma diretiva ao compilar?
Olá!
Sinceramente nunca usei o HBMk2. Até executei mas não consta nenhum parâmetro relacionado. Com certeza dá para fazer pela linha de comando do Harbour, como escrevi anteriormente
Sinceramente nunca usei o HBMk2. Até executei mas não consta nenhum parâmetro relacionado. Com certeza dá para fazer pela linha de comando do Harbour, como escrevi anteriormente
Vamos aguardar a manifestação dos colegas...alxsts escreveu:- se estiver compilando pela linha de comando, use o switch /d ( /d__DOS__ )
[]´s
Alexandre Santos (AlxSts)
Alexandre Santos (AlxSts)
Re: Como se passa uma diretiva ao compilar?
No harbour faça assim:
No seu PRG:
// #IFDEF VERSAO_DE_TESTE1
// Info("VERSÃO DE TESTE1" )
// #ENDIF
// #IFDEF VERSAO_DE_TESTE2
// Info("VERSÃO DE TESTE2")
// #ENDIF
No HBM:
No seu PRG:
// #IFDEF VERSAO_DE_TESTE1
// Info("VERSÃO DE TESTE1" )
// #ENDIF
// #IFDEF VERSAO_DE_TESTE2
// Info("VERSÃO DE TESTE2")
// #ENDIF
No HBM:
Código: Selecionar todos
# ---------------------------
# Nome do Executável
# ---------------------------
-oteste
# ---------------------------
# Bibliotecas
# ---------------------------
-llibct
-lhbnf
-lhbwin
# ---------------------------
# Caminho dos Includes
# ---------------------------
-incpath=d:\harbour\bcc\include;
# ---------------------------
# Caminho das Libs da MiniGui
# ---------------------------
-Ld:\minigui\lib
-Ld:\minigui\harbour\lib
# ---------------------------
# Outros Parâmetros
# ---------------------------
-workdir=.\OBJ\
-head=full
-n
-dVERSAO_DE_TESTE1
-dVERSAO_DE_TESTE2
-nowarn
-inc
#-icon=.\IMG\PRINT.ICO
#-icon=clock.ico
# ---------------------------
# Prg(s) e Rc(s)
# ---------------------------
teste
# ---------------------------
# Fim
# ---------------------------
►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)
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)
-
ricardo-barros
- Usuário Nível 3

- Mensagens: 104
- Registrado em: 29 Out 2009 20:12
- Localização: Fortaleza
Re: Como se passa uma diretiva ao compilar?
Obrigado, Asimoes
Eu que prefiro usar arquivos make já tinha feito um para usar com o Hbmk2 porém ele se resumia a uma lista de prgs. Vou usar suas dicas para enriquecê-lo e implantar a diretiva de compilação.
Gostaria de ver também um exemplo para o xHarbour (Hbmake)
Se mais alguém puder colaborar, agradeço.
Eu que prefiro usar arquivos make já tinha feito um para usar com o Hbmk2 porém ele se resumia a uma lista de prgs. Vou usar suas dicas para enriquecê-lo e implantar a diretiva de compilação.
Gostaria de ver também um exemplo para o xHarbour (Hbmake)
Se mais alguém puder colaborar, agradeço.