Página 4 de 4

IDE RAD para desenvolvimento Harbour.

Enviado: 30 Ago 2022 13:00
por aioware
Olá, tudo bem ? Então qual a linha de comando correta e completa para gerar um executável clicável no Linux, por favor ? Obrigado...

IDE RAD para desenvolvimento Harbour.

Enviado: 30 Ago 2022 16:41
por JoséQuintas
Para gerar o executável de uso, acrescente -fullstatic

Mas pra gerar o Harbour, é necessário criar variáveis de ambiente, senão fica dependente da "dll" do Harbour.
O default no Linux é diferente do default no Windows.
hb.png

IDE RAD para desenvolvimento Harbour.

Enviado: 04 Set 2022 11:56
por aioware
Bom dia, tudo bem ?
Obrigado e desculpa a demora na resposta.
Vamos lá, eu fiz assim:

Código: Selecionar todos

hbmk2 -fullstatic prog.prg
E, realmente gera um executável, mas não clicável, ou seja, quando clico nele ele não abre, mesmo colocando INKEY(0) para segurar a tela ele não abre é de jeito nenhum.
Como posso estar resolvendo isso ? Obrigado...

IDE RAD para desenvolvimento Harbour.

Enviado: 04 Set 2022 12:56
por Itamar M. Lins Jr.
Olá!
Por favor, seja mais objetivo com suas questões.
A melhor forma de perguntar em forum de programação é mostrando seu código. Cadê ele ?
O que é um executável não clicável ?
Quando usa o "./" ele executa ? Cadê os atributos dele ? etc...

Saudações,
Itamar M. Lins Jr.

IDE RAD para desenvolvimento Harbour.

Enviado: 04 Set 2022 13:50
por aioware
Opa, vamos lá:

Quando você clica em um PROGRAMA.EXE do windows ele abre, correto ?
Pois é, é isso que quero fazer no linux mas não estou conseguindo.

IDE RAD para desenvolvimento Harbour.

Enviado: 04 Set 2022 14:23
por Itamar M. Lins Jr.
Olá!
PROGRAMA.EXE do windows ele abre, correto ?
Não é assim. Depende do propósito dele, se é para abrir janela ou não.
Sem ver o seu código fica complicado... Sem ver os atributos ai dele no LINUX fica complicado... Qual é a dificuldade de mostrar seu código ?
Vamos ficar correndo atrás das suas perguntas com adivinhações. Pode ser isso, pode ser aquilo...

PS. Se tem erro, ai não abre mesmo. Compila tudo "bunitinho" mas não abre. Pode gerar arquivo de log... Se for Hwgui, "inkey" no Linux, nem lembro se funciona... Fica nessa adivinhação ai.... Vc vem pelas adivinhações resolve, depois faz outra pergunta...

Saudações,
Itamar M. Lins Jr.

IDE RAD para desenvolvimento Harbour.

Enviado: 04 Set 2022 14:44
por aioware
Façamos assim, esse tópico já estava encerrado mas outro camarada disse que não, aí lá vai eu dar continuidade.
Mas estou encerrando ele oficialmente agora...

Obrigado, vou pular para a próxima...

IDE RAD para desenvolvimento Harbour.

Enviado: 04 Set 2022 14:56
por aioware
E a todos que ajudaram obrigado e Deus Abençoe...

IDE RAD para desenvolvimento Harbour.

Enviado: 04 Set 2022 21:41
por JoséQuintas
aioware escreveu:Façamos assim, esse tópico já estava encerrado mas outro camarada disse que não, aí lá vai eu dar continuidade.
Mas estou encerrando ele oficialmente agora...
O tópico de início era pra fazer o Harbour compilar, e não depender de nada.
Faltava a parte do fullstatic para dar por encerrado a INSTALAÇÃO.
Por outro lado, podemos considerar que ainda não teve um EXE funcionando pra confirmar se tudo ok.
aioware escreveu:E, realmente gera um executável, mas não clicável, ou seja, quando clico nele ele não abre, mesmo colocando INKEY(0) para segurar a tela ele não abre é de jeito nenhum.
Como posso estar resolvendo isso ? Obrigado...
O Itamar já disse que isso não é suficiente.

Em todo caso, vi algo parecido recentemente.
Por acaso deu o nome de MAIN para o módulo principal?
Se não existir MAIN, o programa carrega mas não tem ponto de partida.
Mas fora isso tem LIB gráfica ou console, isso já dependeria de mais detalhes, e já seria algo mais específico, que foge do uso inicial.
O uso inicial seria compilar um exemplo que vém no Harbour e testar.

IDE RAD para desenvolvimento Harbour.

Enviado: 04 Set 2022 23:04
por aioware
Olá, tentei com main mas não vai também:

Código: Selecionar todos

PROCEDURE MAIN
	? "DEUS EH MAIS QUE FIEL, AMEM..."
INKEY(0)
RETURN
Fiz assim:

Código: Selecionar todos

hbmk2 -fullstatic main.prg
Mas, com já havia dito, gera o executável mas não abre no duplo click.

IDE RAD para desenvolvimento Harbour.

Enviado: 05 Set 2022 20:17
por marcosgambeta
aioware escreveu:Fiz assim:

Código: Selecionar todos

hbmk2 -fullstatic main.prg
Mas, com já havia dito, gera o executável mas não abre no duplo click.
Pelo visto, você está gerando um executável, sem janela gráfica, que vai executar somente numa janela de terminal.

Tente assim:

Código: Selecionar todos

hbmk2 main.prg -fullstatic -gtxwc
Se compilar sem erros, o executável gerado deverá abrir com um duplo clique.

Caso sua instalação do Harbour não tenha a biblioteca gtxwc, precisará instalar o pacote libx11-dev (ou algo parecido) e recompilar o Harbour.

IDE RAD para desenvolvimento Harbour.

Enviado: 18 Set 2022 17:53
por aioware
Boa tarde Marcos, tudo bem ?
Desculpa a demora na resposta mas mesmo instalando libx11 deu esse erro abaixo:

Código: Selecionar todos

$ hbmk2 rec.prg -fullstatic -gtxwc
Harbour 3.2.0dev (r2104281802)
Copyright (c) 1999-2021, https://harbour.github.io/
Compiling 'rec.prg'...
Lines 23, Functions/Procedures 1
Generating C source output to '/tmp/hbmk_6rujx4.dir/rec.c'... Done.
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libX11.a(CrGlCur.o): na função "open_library":
(.text+0x2e): aviso: Using 'dlopen' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libX11.a(xim_trans.o): na função "_XimXTransSocketINETConnect":
(.text+0xcfc): aviso: Using 'getaddrinfo' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libX11.a(OpenDis.o): na função "OutOfMemory":
(.text+0x3c4): referência não definida para "xcb_disconnect"
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libX11.a(OpenDis.o): na função "XOpenDisplay":
(.text+0x81a): referência não definida para "xcb_get_setup"
/usr/bin/ld: (.text+0xdad): referência não definida para "xcb_get_maximum_request_length"
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libX11.a(xcb_io.o): na função "require_socket.part.0":
(.text+0x6da): referência não definida para "xcb_take_socket"
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libX11.a(xcb_io.o): na função "poll_for_event":
(.text+0x7fa): referência não definida para "xcb_poll_for_event"
/usr/bin/ld: (.text+0x839): referência não definida para "xcb_poll_for_queued_event"
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libX11.a(xcb_io.o): na função "poll_for_response":
(.text+0x930): referência não definida para "xcb_poll_for_reply64"
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libX11.a(xcb_io.o): na função "_XSend":
(.text+0xb9a): referência não definida para "xcb_writev"
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libX11.a(xcb_io.o): na função "_XEventsQueued":
(.text+0xc8d): referência não definida para "xcb_connection_has_error"
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libX11.a(xcb_io.o): na função "_XReadEvents":
(.text+0xdc6): referência não definida para "xcb_connection_has_error"
/usr/bin/ld: (.text+0xe94): referência não definida para "xcb_wait_for_event"
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libX11.a(xcb_io.o): na função "_XAllocIDs":
(.text+0xfe7): referência não definida para "xcb_generate_id"
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libX11.a(xcb_io.o): na função "_XReply":
(.text+0x1174): referência não definida para "xcb_wait_for_reply64"
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/libgcc_eh.a(unwind-dw2-fde-dip.o): na função "__register_frame_info_bases.part.0":
(.text+0x1698): referência não definida para "pthread_mutex_lock"
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/libgcc_eh.a(unwind-dw2-fde-dip.o): na função "__register_frame_info_table_bases":
(.text+0x17ac): referência não definida para "pthread_mutex_lock"
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/libgcc_eh.a(unwind-dw2-fde-dip.o): na função "__deregister_frame_info_bases":
(.text+0x1872): referência não definida para "pthread_mutex_lock"
/usr/bin/ld: (.text+0x18ba): referência não definida para "pthread_mutex_unlock"
/usr/bin/ld: (.text+0x193d): referência não definida para "pthread_mutex_unlock"
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/libgcc_eh.a(unwind-dw2-fde-dip.o): na função "_Unwind_Find_FDE":
(.text+0x1a74): referência não definida para "pthread_mutex_lock"
/usr/bin/ld: (.text+0x1b98): referência não definida para "pthread_mutex_unlock"
/usr/bin/ld: (.text+0x1bd9): referência não definida para "pthread_mutex_unlock"
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/libgcc_eh.a(unwind-dw2-fde-dip.o): na função "__register_frame_info_bases.part.0":
(.text+0x16cb): referência não definida para "pthread_mutex_unlock"
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/libgcc_eh.a(unwind-dw2-fde-dip.o): na função "__register_frame_info_table_bases":
(.text+0x17df): referência não definida para "pthread_mutex_unlock"
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libX11.a(ClDisplay.o): na função "XCloseDisplay":
(.text+0xc5): referência não definida para "xcb_disconnect"
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libX11.a(locking.o): na função "_XFreeMutex":
(.text+0x9c): referência não definida para "pthread_mutex_destroy"
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libX11.a(locking.o): na função "_XFreeDisplayLock":
(.text+0xd9): referência não definida para "pthread_mutex_destroy"
/usr/bin/ld: (.text+0x100): referência não definida para "pthread_cond_destroy"
/usr/bin/ld: (.text+0x128): referência não definida para "pthread_cond_destroy"
/usr/bin/ld: (.text+0x14d): referência não definida para "pthread_cond_destroy"
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libX11.a(locking.o): na função "_XInitDisplayLock":
(.text+0x2a1): referência não definida para "pthread_mutex_init"
/usr/bin/ld: (.text+0x2b3): referência não definida para "pthread_cond_init"
/usr/bin/ld: (.text+0x2c5): referência não definida para "pthread_cond_init"
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libX11.a(locking.o): na função "_XCreateCVL":
(.text+0x44b): referência não definida para "pthread_cond_init"
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libX11.a(locking.o): na função "_XLockDisplay":
(.text+0x503): referência não definida para "pthread_mutex_lock"
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libX11.a(locking.o): na função "_XPopReader":
(.text+0x6dd): referência não definida para "pthread_cond_destroy"
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libX11.a(locking.o): na função "_XInternalLockDisplay":
(.text+0x72a): referência não definida para "pthread_mutex_lock"
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libX11.a(locking.o): na função "XInitThreads":
(.text+0x7db): referência não definida para "pthread_mutex_init"
/usr/bin/ld: (.text+0x7f7): referência não definida para "pthread_mutex_init"
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libX11.a(locking.o): na função "_XCreateMutex":
(.text+0x21): referência não definida para "pthread_mutex_init"
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libX11.a(locking.o): na função "_XConditionBroadcast":
(.text+0x485): referência não definida para "pthread_cond_broadcast"
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libX11.a(locking.o): na função "_XConditionSignal":
(.text+0x495): referência não definida para "pthread_cond_signal"
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libX11.a(locking.o): na função "_XConditionWait":
(.text+0x4a5): referência não definida para "pthread_cond_wait"
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libX11.a(locking.o): na função "_XUnlockDisplay":
(.text+0x4bf): referência não definida para "pthread_mutex_unlock"
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libX11.a(locking.o): na função "_XUnlockMutex":
(.text+0x4d8): referência não definida para "pthread_mutex_unlock"
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libX11.a(locking.o): na função "_XLockMutex":
(.text+0x4e8): referência não definida para "pthread_mutex_lock"
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libX11.a(xcb_disp.o): na função "_XConnectXCB":
(.text+0x180): referência não definida para "xcb_parse_display"
/usr/bin/ld: (.text+0x1f8): referência não definida para "xcb_connect_to_display_with_auth_info"
/usr/bin/ld: (.text+0x218): referência não definida para "xcb_get_file_descriptor"
/usr/bin/ld: (.text+0x234): referência não definida para "xcb_generate_id"
/usr/bin/ld: (.text+0x293): referência não definida para "pthread_cond_init"
/usr/bin/ld: (.text+0x2a5): referência não definida para "pthread_cond_init"
/usr/bin/ld: (.text+0x2ad): referência não definida para "xcb_connection_has_error"
/usr/bin/ld: (.text+0x2c6): referência não definida para "xcb_connect"
collect2: error: ld returned 1 exit status
hbmk2: Erro: Executando linkeditor. 1
gcc '/tmp/hbmk_6rujx4.dir/rec.o' '/tmp/hbmk_6rujx4.dir/hbmk_f8si2p.o'   -Wl,--start-group -lgtxwc -lhbextern -lhbdebug -lhbvm -lhbrtl -lhblang -lhbcpage -lgtcgi -lgtpca -lgtstd -lgttrm -lhbrdd -lhbuddall -lhbusrrdd -lrddntx -lrddcdx -lrddnsx -lrddfpt -lhbrdd -lhbhsx -lhbsix -lhbmacro -lhbcplr -lhbpp -lhbcommon -lm -ldl -lrt -lpcre -lz -lX11 -lgpm   -Wl,--end-group -static -orec -L/usr/local/lib/harbour -L/usr/X11R6/lib