Gerar executavel de aplicações em lua

996 views
Skip to first unread message

wederson cabral

unread,
Sep 12, 2016, 2:25:30 PM9/12/16
to Lua BR
Estou iniciando minha jornada em lua por esses tempos e estou gostando bastante de tudo que li até agora, porem tem uma certa coisa que esta me incomodando sobre a linguagem: a falta do executável. sei que parece bobo mas sempre que eu termino alguma aplicação, seja ela simples ou complexa, eu quero ter um arquivo onde so preciso dar 2 clicks pra ver a magica acontecer e após dias procurando eu não estou conseguindo alguma forma de fazer isso em lua oque esta me deixando bastante "tenso" @_@.

Se existe alguma forma de criar esse executável de uma aplicação escrita 100% em lua vocês poderiam me dizer como ? e caso não exista essa opção utilizando lua me avisem também c_c.

Grato desde já.

luciano de souza

unread,
Sep 12, 2016, 3:10:20 PM9/12/16
to lua...@googlegroups.com
Uma vez que o incomoda, definitivamente não é algo bobo.
Imagino que você queira algo como o Py2exe do Python que apanha um
conjunto de bibliotecas e empacota tudo em um executável.
De fato, como você, os meus conhecimentos de Lua são pequeninos e, por
isso, não sei se tal existe.
De qualquer forma, pergunto: será que isso é mesmo importante? O Word,
o Excel, o o Firefox, enfim, todos os programas do Windows estão
cheios de componentes implementados em DLLs e isso não lhes diminui em
nada.
Ou o que lhe incomoda é o fato de distribuir para um colega e, ao
clicar sobre o arquivo Lua, não ser aberto o programa imediatamente
porque o sistema operacional não sabe qual o programa para manipular o
arquivo?
Se este fosse o caso, poderia ter um executável compilado em C ou
Pascal que chamasse o interpretador de Lua passando o script como
parâmetro. Ou então, de forma ainda mais simples, poderia ter um
arquivo bat que fizesse este trabalho.
Mas enfim, os colegas mais gabaritados no assunto hão de responder-lhe
sobre o empacotamento em executável.

Em 12/09/16, wederson cabral<wederso...@gmail.com> escreveu:
> --
> Você está recebendo esta mensagem porque se inscreveu no grupo "Lua BR" dos
> Grupos do Google.
> Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie
> um e-mail para lua-br+un...@googlegroups.com.
> Visite este grupo em https://groups.google.com/group/lua-br.
> Para obter mais opções, acesse https://groups.google.com/d/optout.
>


--
Luciano de Souza

wederson cabral

unread,
Sep 12, 2016, 8:51:11 PM9/12/16
to Lua BR
Fiz um programa em C que utiliza um system passando "lua nomedoprograma.lua" como parametro, coompilei e pronto tava la meu executavel. achei essa solução pouco elegante mas funciona, né. Obrigado por responder \õ.

 se alguem souber uma forma "natural" de criar esse executavel lua e puder me informar eu ficaria grato.

Luiz Henrique de Figueiredo

unread,
Sep 12, 2016, 8:58:46 PM9/12/16
to lua...@googlegroups.com

Diego Nascimento

unread,
Sep 12, 2016, 9:47:27 PM9/12/16
to lua...@googlegroups.com
vc está usando linux ou windows? no linux eu coloco na primeira linha '#!/usr/bin/env lua" .. ou pode colocar o caminho do teu 'lua' ou 'luajit'.. aih no shell vai na pasta aonde está o arquivo e dá permissão de execução assim.. 'chmod +x <nome_arquivo.lua>' ... aih fica executável.. não deixa de ser script mas já executa.. e vc pode tbm tirar a extensão '.lua' se quiser.

se for no windows, vc tem que criar o arquivo, e clicar com botão direito nele, aih vc clica em "propriedades" e aonde diz 'abre com' vc clica no botão 'alterar', abre uma janelinha aih clica no botão "Procurar" e seleciona o arquivo executável do 'lua.exe' ou o  lua que vc instalou, assim quando clicar no arquivo ele executa igual um programa, abre um prompt.. o prompt vai acabar saindo rapido demais, vc pode colocar na última linha do teu script "os.executa("pause")" .. e aih ele vai executar, mostrar o prompt executando teu programa e aih quando vc clicar uma tecla ele vai sair do teu programa.


é isso que vc precisa?


Em 12 de setembro de 2016 21:58, Luiz Henrique de Figueiredo <l...@tecgraf.puc-rio.br> escreveu:
Veja http://webserver2.tecgraf.puc-rio.br/~lhf/ftp/lua/index.html#srlua


--
Você está recebendo esta mensagem porque se inscreveu no grupo "Lua BR" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para lua-br+unsubscribe@googlegroups.com.

Diego Nascimento

unread,
Sep 12, 2016, 10:02:51 PM9/12/16
to lua...@googlegroups.com
pode também criar um atalho e colocar o comando nele, ele funcionaria como teu programa em C que chama ele pelo 'system'.. vc faz isso direto no atalho, aih compartilha teu programa junto com o executável do interpretador lua, o teu código e esse atalho, a pessoa executa o atalho e voa lá, teu script vai executar como um programa... 

Rodrigo Baron

unread,
Sep 13, 2016, 7:48:51 AM9/13/16
to Lua BR
Tem o luastatic[1], o interessante é que ele faz o executável funcionar na maquina que não tem o lua instalado[2]. Mas basicamente ele gera um programa em C usando o seu fonte lua.


Att,

Denis Dos Santos Silva

unread,
Sep 13, 2016, 11:49:57 AM9/13/16
to Lua BR
A melhor solução no seu caso é utilizar o programa informado, srlua, pelo Luiz Henrique (um dos co-autores da linguagem Lua).



Em segunda-feira, 12 de setembro de 2016 15:25:30 UTC-3, wederson cabral escreveu:
Reply all
Reply to author
Forward
0 new messages