Executável para qualquer Linux

1. Executável para qualquer Linux

Pedro Paulo Bandeira Monteiro Junior
PedroMonteiro

(usa Linux Mint)

Enviado em 10/06/2015 - 03:04h

Olá, eu queria compilar um programa e ser capaz de rodar em qualquer outro computador com linux, como compilar um programa usando o OpenGL e ser capaz de executá-lo em um computador onde não há instalado o OpenGL, como eu poderia fazer isso?


  


2. Re: Executável para qualquer Linux

Thiago Henrique Hüpner
Thihup

(usa Manjaro Linux)

Enviado em 10/06/2015 - 07:13h

No linux é bem diferente do Windows, que é só colocar as DLL's na pasta e pronto.

Sei disso pois estava em um projeto e eu precisei fazer o executável com dependências dinamicas.

O mais fácil é instalar o OpenGL no Pc que irá rodar. Se for de utilidade, e caso for derivantes do Debian, coloque o ".deb" junto com o executável e peça para instalar primeiro;

Espero ter ajudado

[]'s

T+

--

Programador encontrado morto na banheira cinco dias após ter sido dado como desaparecido. Junto a ele foi encontrado um shampoo com as seguintes instruções:

LAVAR;
ENXAGUAR;
REPETIR;




3. Re: Executável para qualquer Linux

M.
XProtoman

(usa Fedora)

Enviado em 10/06/2015 - 07:43h

Acho que o tiro certeiro é ver o que o Steam está fazendo e os problemas que está encontrando(instale o Steam no Linux e veja os diretórios que tem bibliotecas, eles distribuem bibliotecas).

Outro "caso de sucesso" é o Chrome. Extraia por exemplo o pacote e veja o que tem nele, dica: pegue o pacote do debian. Já já falo desse caso.

Existe uma ideia que carrego que é a seguinte: pegue sempre uma distribuição tradicional como o Debian, crie seu executável e pronto distribua ele para outras distribuições para testar. Acho que tem melhor chance de sucesso. Se você pegar uma distribuição mais moderna e atual para gerar executáveis ou bibliotecas talvez exista algum recurso igualmente novo que não existe nas versões mais antigas então você não vai ter sucesso em rodar sua aplicação ou biblioteca.

Vamos supor que você quer compatibilidade e ao mesmo tempo precisa de uma biblioteca atual como o SDL, a solução é você compilar o seu SDL na distribuição estável e distribuí-lo junto do seu programa.

Agora vem a retomada: o Chrome. Geralmente uso o Chrome em pacote deb no Fedora: extraio(sem instalar no sistema) e rodo. Para quem fez muito isso no Fedora sabe que falta uma biblioteca, libudev acho. Para gente é só pegar essa biblioteca faltante do Debian, extrair e começar a usar o navegador.

Veja jogos também do Linux, como eles fazem a distribuição(que bibliotecas vão junto, o que está ligado a essas biliotecas).

Espero ter ajudado.


4. Re: Executável para qualquer Linux

M.
XProtoman

(usa Fedora)

Enviado em 10/06/2015 - 07:52h

Outra coisa, as vezes a gente distribui uma biblioteca mais seca, enxuta(que não se liga a muitas bibliotecas) para evitar incompatibilidades. Exemplo: vamos supor que uma biblioteca X dependa do Wayland, mas Wayland ainda não é muito usado e nem muitas distribuições tem suas bibliotecas, então você vai compilar a sua biblioteca X para não fazer uso do Wayland e distribuí-la junto do seu programa.


5. Re: Executável para qualquer Linux

Perfil removido
removido

(usa Nenhuma)

Enviado em 10/06/2015 - 12:44h

Basta colocar as bibliotecas no path.

Crie um arquivo run.sh na pasta do programa e defina através o path do sistema + path do seu programa, assim as bibliotecas que você colocar na pasta do programa vão ser encontradas em qualquer distribuição do Linux.

Veja a lógica da coisa:

definir pathDoSistema = pathAtual + pastaDeBibliotecasDoPrograma
executarPrograma

Com isso, o seu programa vai simplesmente localizar aquela biblioteca....

Tem outra maneira de fazer isso:
http://www.magicermine.com/
O Ermine é um aplicativo que empacota o executável e todas as bibliotecas necessárias para rodá-lo em um único pacote.

Veja aplicativos portáveis:
http://www.toplinuxapps.com/

O pessoal do Top Linux Apps empacotou até mesmo programas rodando no Wine. É bom dar uma olhada, se você quer algum programa rodando Wine.


6. Re: Executável para qualquer Linux

Perfil removido
removido

(usa Nenhuma)

Enviado em 10/06/2015 - 12:46h


Outro método:
http://portablelinuxapps.org/


7. Re: Executável para qualquer Linux

Perfil removido
removido

(usa Nenhuma)

Enviado em 10/06/2015 - 13:49h

Linkagem e criação de bibliotecas estáticas?
--
Encryption works. Properly implemented strong crypto systems are one of the few things that you can rely on. Unfortunately, endpoint security is so terrifically weak that NSA can frequently find ways around it. — Edward Snowden






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts