Compilar & Executar
Pressione F9 para compilar, linkar e executar sua aplicacao em uma unica etapa. O HarbourBuilder orquestra todo o processo de build automaticamente, desde o preprocessamento dos seus arquivos .prg ate a execucao do executavel resultante.
Pressione F9 e o HarbourBuilder cuida de tudo: compilacao Harbour, invocacao do compilador C, linkagem, incorporacao de recursos e execucao do seu app. Sem makefiles, sem scripts de linha de comando, sem etapas manuais.
O Processo de Build em 7 Etapas
Detalhes das Etapas
| Etapa | Ferramenta | Entrada | Saida | Descricao |
|---|---|---|---|---|
| 1. Preprocessar | Harbour | .prg, .ch | .ppo | Processa #include, #define e diretivas do preprocessador xBase. |
| 2. Compilar | Harbour | .ppo | .c | Traduz o fonte Harbour preprocessado para codigo C. |
| 3. Compilar C | Compilador C | .c | .o / .obj | Invoca MSVC, BCC, GCC ou Clang para produzir arquivos objeto. |
| 4. Linkar | Linker | .o / .obj | .exe | Linka arquivos objeto com a biblioteca Harbour e libs do sistema. |
| 5. Incorporar | Ferramenta de recursos | icones, imagens | .exe | Incorpora recursos da aplicacao (icones, imagens, formularios) no executavel. |
| 6. Validar | IDE | log de build | relatorio | Verifica erros de compilacao/linkagem e os exibe no painel Mensagens de Build. |
| 7. Executar | IDE | .exe | app rodando | Inicia a aplicacao compilada para teste. |
Dialogo de Progresso
Durante o build, um dialogo de progresso mostra o status em tempo real de cada etapa:
- Barra de progresso — indicacao visual da conclusao do build nas 7 etapas.
- Rotulo da etapa atual — mostra qual etapa esta sendo executada (ex: "Compilando main.prg...").
- Botao cancelar — aborta o build a qualquer momento.
- Saida de log — saida bruta do compilador e linker em uma area de texto rolavel.
Dialogo de Erros
Se o build falhar, um dialogo de erros aparece com:
- Contagem de erros — numero total de erros encontrados.
- Contagem de avisos — numero total de avisos nao fatais.
- Lista de erros clicavel — cada erro mostra o arquivo, numero da linha e descricao.
- Duplo clique para navegar — clicar em um erro abre o arquivo fonte na linha exata.
Painel de Mensagens de Build
O painel Mensagens de Build na parte inferior do IDE mostra a saida de cada build:
| Coluna | Descricao |
|---|---|
| Tipo | Erro (vermelho), Aviso (amarelo) ou Info (azul). |
| Arquivo | Arquivo fonte onde a mensagem se originou. |
| Linha | Numero da linha do problema. |
| Mensagem | Descricao do erro do compilador ou linker. |
Duplo clique em qualquer erro no painel Mensagens de Build para ir diretamente aquela linha no editor fonte. O editor destaca a linha problematica para identificacao rapida.
Atalhos de Teclado
| Atalho | Acao |
|---|---|
| F9 | Compilar e executar |
| Ctrl+F9 | Compilar apenas (nao executar) |
| Shift+F9 | Rebuild total (limpar + compilacao completa) |
| F5 | Iniciar depuracao (compilar com flags de depuracao) |
| Ctrl+Shift+B | Compilar apenas o arquivo atual |
Suporte a Multiplos Compiladores
O HarbourBuilder suporta multiplos compiladores C para a etapa de linkagem. Escolha o que melhor se adequa a sua plataforma e licenciamento:
| Compilador | Plataformas | Licenca | Notas |
|---|---|---|---|
| MSVC (Microsoft Visual C++) | Windows | Proprietario (Build Tools gratuito disponivel) | Recomendado para Windows. Melhor desempenho e compatibilidade. |
| BCC (Borland C++ Compiler) | Windows | Proprietario (versao gratuita disponivel) | Suporte legado. Compativel com builds Harbour mais antigos. |
| GCC | Linux, macOS (via Xcode) | GPL | Padrao no Linux. Disponivel no macOS via Homebrew ou Xcode. |
| Clang | macOS, Linux | BSD-style | Recomendado para macOS. Parte do Xcode Command Line Tools. |
Rebuild Inteligente
O HarbourBuilder usa um sistema de rastreamento de dependencias para evitar recompilacoes desnecessarias:
- Timestamps de modificacao — apenas arquivos .prg modificados desde o ultimo build sao recompilados.
- Rastreamento de dependencias de include — se um arquivo de header .ch e alterado, todos os .prg que o #incluem sao recompilados.
- Validacao de arquivos objeto — arquivos .o / .obj sao reutilizados se o fonte nao mudou.
- Linkagem incremental — o linker apenas relinka arquivos objeto alterados quando possivel.
Pressione F9 para um build inteligente (apenas arquivos alterados). Pressione Shift+F9 para um rebuild completo (limpar tudo e recompilar todos os arquivos). Use um rebuild completo apos alterar configuracoes do compilador, adicionar dependencias de bibliotecas ou quando builds incrementais produzem resultados inesperados.
Opcoes do Projeto
Configure as opcoes de build via Projeto > Opcoes:
| Categoria | Opcoes |
|---|---|
| Compilador | Flags Harbour: -n2, -w3, -gc, -gl, -gh, -b e flags customizadas. |
| Compilador C | Selecionar compilador (MSVC/BCC/GCC/Clang), caminhos de include, defines, nivel de otimizacao. |
| Linker | Caminhos de bibliotecas, bibliotecas adicionais, subsistema (console/GUI), nome do arquivo de saida. |
| Recursos | Arquivo de icone, manifest, arquivos incorporados, flags do compilador de recursos. |
| Saida | Diretorio de saida, nome do executavel, diretorio de trabalho, argumentos de linha de comando. |
| Depuracao | Habilitar build de depuracao (-gh -b), gerar arquivo de mapa, saida de simbolos. |
Diretorio de Saida do Build
Por padrao, a saida compilada vai para a pasta output/ dentro do seu projeto.
Voce pode personalizar isso nas Opcoes do Projeto:
| Arquivo | Descricao |
|---|---|
myapp.exe | A aplicacao compilada (Windows) ou binario (macOS/Linux). |
myapp.hrb | Arquivo de bytecode (quando compilado com flag -b para depuracao). |
myapp.map | Arquivo de mapa do linker (se habilitado nas opcoes do projeto). |
*.o / *.obj | Arquivos objeto intermediarios (retidos para rebuild inteligente). |
Para distribuicao, faca um rebuild completo (Shift+F9) sem flags de depuracao (-gh -b). Isso produz um executavel menor e mais rapido sem simbolos de depuracao incorporados.