IDE RAD para desenvolvimento Harbour.

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

aioware
Usuário Nível 1
Usuário Nível 1
Mensagens: 30
Registrado em: 28 Ago 2022 08:56
Localização: São Paulo

IDE RAD para desenvolvimento Harbour.

Mensagem 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...
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

IDE RAD para desenvolvimento Harbour.

Mensagem 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
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/
aioware
Usuário Nível 1
Usuário Nível 1
Mensagens: 30
Registrado em: 28 Ago 2022 08:56
Localização: São Paulo

IDE RAD para desenvolvimento Harbour.

Mensagem 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...
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7928
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

IDE RAD para desenvolvimento Harbour.

Mensagem 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.
Saudações,
Itamar M. Lins Jr.
aioware
Usuário Nível 1
Usuário Nível 1
Mensagens: 30
Registrado em: 28 Ago 2022 08:56
Localização: São Paulo

IDE RAD para desenvolvimento Harbour.

Mensagem 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.
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7928
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

IDE RAD para desenvolvimento Harbour.

Mensagem 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.
Saudações,
Itamar M. Lins Jr.
aioware
Usuário Nível 1
Usuário Nível 1
Mensagens: 30
Registrado em: 28 Ago 2022 08:56
Localização: São Paulo

IDE RAD para desenvolvimento Harbour.

Mensagem 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...
aioware
Usuário Nível 1
Usuário Nível 1
Mensagens: 30
Registrado em: 28 Ago 2022 08:56
Localização: São Paulo

IDE RAD para desenvolvimento Harbour.

Mensagem por aioware »

E a todos que ajudaram obrigado e Deus Abençoe...
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

IDE RAD para desenvolvimento Harbour.

Mensagem 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.
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/
aioware
Usuário Nível 1
Usuário Nível 1
Mensagens: 30
Registrado em: 28 Ago 2022 08:56
Localização: São Paulo

IDE RAD para desenvolvimento Harbour.

Mensagem 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.
marcosgambeta
Usuário Nível 3
Usuário Nível 3
Mensagens: 332
Registrado em: 16 Jun 2005 22:53

IDE RAD para desenvolvimento Harbour.

Mensagem 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.
Atenciosamente,
Marcos Antonio Gambeta
aioware
Usuário Nível 1
Usuário Nível 1
Mensagens: 30
Registrado em: 28 Ago 2022 08:56
Localização: São Paulo

IDE RAD para desenvolvimento Harbour.

Mensagem 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

Responder