Migração total para o linux [RESOLVIDO]

1. Migração total para o linux [RESOLVIDO]

adriano silva
imagothor

(usa Ubuntu)

Enviado em 28/02/2012 - 23:50h

Olá para todos

Estou no dilema Windows x Linux

Estou migrando de vez para o Ubuntu e me deparei com seguinte pergunta "Como faço para criar um Aplicativo em c++ que seja para linux".
Encontrei esse dilema por varias perguntas subsequentes que me apareceu no ubuntu.

1° No windows eu uso (usava) o borland dev c++ para criar e compilar os códigos mas e agora qual compilador eu usarei.
2° Como saberei se meu aplicativo irá funcionar pois a engine era escrito em c++ e salvo nas extensões dll ,.com , .bat ,.exe ou seja nos tipos de arquivos facilmente reconhecidos pelo win
3° Qual seria o equivalente para as extensões
4° Existe conversor ou compilador para que o linux leia os arquivos
Obs: O meu aplicativo será diretamente projetado para se usar no linux
5° Se tratando que o soft é código aberto como mandarei os arquivos tipo na plataforma win eu usava os pacotes de instalação wise ou seja via setup.exe
6° qual programa usarei para "zipar" os arquivos e qual a sua extensão ,já que no linux ele não lê executável do rar
7° Aonde seria os lugares para a posição de cada arquivo " No win eu configurava para serem instaladas nas pastas Arquivos de programas ,windows, sistem 32 entre outras

Desde já agradeço por qualquer informação enviada


  


2. Re: Migração total para o linux [RESOLVIDO]

Levi Gomes
levi linux

(usa Arch Linux)

Enviado em 29/02/2012 - 07:30h

Bom dia!
Tudo bem?
Não sou programador mais tentarei responder algumas de suas perguntas.
Vamos por partes!



Você pode usar o g++ para compilar C++.

Abaixo está o link de uma dica para ter uma noção sobre o funcionamento do mesmo.

http://www.vivaolinux.com.br/dica/Facilitando-a-compilacao-com-o-g++

O que posso lhe dizer é que no quesito compiladores o Linux está bem servido de ferramentas, quanto a isso não se preocupe.



Esses arquivos .dll e .bat não existem no Linux, não posso lhe dar mais informações pois como disse não sou programador.



Quando fala em extensões está se referindo a extensão do aplicativo já compilado?
Caso positivo o Linux não trabalha com extensões da mesma forma que o Windows, um executável por exemplo é somente um programa com permissão de execução.

Veja os links abaixo

http://www.vivaolinux.com.br/artigo/Entendendo-as-permissoes-de-arquivos-%28chmod%29

http://www.vivaolinux.com.br/artigo/Permissoes-no-Linux



Aqui você está se referindo a possibilidade de rodar programas Windows no Linux? Caso positivo veja os links abaixo

http://www.vivaolinux.com.br/artigo/Instalando-e-configurando-o-Wine/

http://www.vivaolinux.com.br/artigo/W.I.N.E-is-not-emulator

Agora caso a observações que você fez se refira a questão 4, você só precisa compilar seu software para Linux basta não utilizar bibliotecas que só rodam no Windows.



Código aberto implica em (no caso GNU) em disponibilizar o código fonte, você poderia por exemplo empacotar para os sistemas de pacotes mais populares como .deb (nativo de debian e derivados) e .rpm (nativo do red hat e derivados) e disponibilizar o código fonte também.



Mais comumente baixo códigos fonte nas seguintes extensões .tar.gz e .tar.bz2, mas acredito que não exista uma regra para isso. Veja link abaixo

http://pt.wikibooks.org/wiki/Guia_do_Linux/Iniciante+Intermedi%C3%A1rio/Compactadores/Extens%C3%B5es...

Sobre esses arquivos do .rar, eles não rodam da mesma forma que no Windows, por questões de permissões e da própria arquitetura do sistema, isso torna o sistema mais seguro.



O mais geral é colocar por exemplo arquivos de comfiguração em /etc e os outros arquivos do programa nos subdiretórios de /usr.
Sendo que podem existir pequenas variações (muito pequenas mesmo) de uma distribuição para outra, você também te de ver a questão das lib's.

No mais boa sorte!
Qualquer coisa posta aí!


3. Re: Migração total para o linux [RESOLVIDO]

Luis R. C. Silva
luisrcs

(usa Linux Mint)

Enviado em 29/02/2012 - 07:48h

Para Linux tem o codeblocks, se usa Ubuntu é só digitar no terminal:

$ sudo apt-get install codeblocks

Porém o código que for compilado nele só vai servir para Linux, pois algumas coisas na programação c++ Linux e Windows são diferentes.

Seus códigos para Windows não irão compilar diretamente, você tem que fazer alguns ajustes neles.
Suas .dlls não irão funcionar de jeito nenhum, você tem que reescrevê-las.

As bibliotecas no Linux possuem extensão .so.

Os scrits possuem extensão .sh, do shell script; e os executáveis não precisam de extensões. Mas para tornar esses scripts executáveis tem que digitar no terminal chmod +x script.sh.

Para zipar, pode usar o zip, rar, 7z, tar, gz, bz, bz2, etc., mas o mais utilizado é o .tar.gz

Se seus programa forem distribuído em código-fonte tem que criar um arquivo chamado Makefile, que possui as informações de compilação e locais para os arquivos, mas se for distribuído em binário, pode ser colocado em /opt ou /usr/local, isso se você quer que os arquivos fiquem todos juntos (melhor opção), mas tem gente que coloca os arquivos separados: bibliotecas em /usr/lib; executáveis em /usr/bin

Além disso, para editar o menu, tem um local específico em /usr/share/aplications, onde se localizam os arquivos de configuração do menu.

Boa sorte.


4. Re: Migração total para o linux [RESOLVIDO]

???
gokernel

(usa Linux Mint)

Enviado em 29/02/2012 - 09:07h

Olá !

Em relação a você usar o Dev-Cpp no windows e migrar para o linux não terá problemas, pois o essa IDE utiliza o compilador GCC para fazer a compilação.

Em relação aos arquivos .DLL e .BAT e .EXE ... no Linux corresponde: .SO , .SH , binario.

Se vc utilizar bibliotecas como QT, GTK os seus aplicativos serão ao máximo portáveis compilando nas 2 plataformas(windows, linux) sem nenhuma modificação.

Se for algo usando OpenGL, vc acertou pois o OpenGL é muito portável ... Agora se está usando DirectX e ou GDI então começe a chorar . :)

Abraço.



5. Re: Migração total para o linux [RESOLVIDO]

adriano silva
imagothor

(usa Ubuntu)

Enviado em 01/03/2012 - 16:03h

Agradeço as respostas que obtive até a presente data ,

1° Respondendo algumas peguntas do levi linux ., Sobre o Gnu de uma certa forma eu tenho conhecimento no que ela implica eu faço do tipo assim " Eu crio um código , não fecho ,te dou a fonte (o source) de presente , Você usa como desejar mas Você não poderá vende-lo sem a minha autorização " Sobre as extensões eu quiz dizer antes de se compilar o código em geral . Ainda sobre o levi como Você conhece tanto a respeito de programação sem ser programador Quando vi no meu email que haviam respondido o tópico pensei que seria coisa pequena tipo 2 linhas só Você sozinho me passou resposta para um Mês inteiro de pesquisa

2° Sobre o Comentário do rei astro qual seria esse arquivo ou extensão equivalente ao dll para que possa reescrever minhas dlls

3° Em relação a resposta de gokernel como assim Qt e gtk elas estão embutidas no ubuntu ou no compilador g++ , Opengl são de uma maneira arquivos portátil (voláteis) ou seja pode configurar para que seja multiplataforma seria isso , em relação ao directx já terei muitos arquivos perdidos e muitas lágrimas também rsrsr


6. Re: Migração total para o linux [RESOLVIDO]

Levi Gomes
levi linux

(usa Arch Linux)

Enviado em 01/03/2012 - 17:05h

Boa tarde!
É como o gokernel disse

.DLL equivale a .so
.bat equivale a .sh
.exe equivale ao binário (pré-compilado)

GTK e QT são toolkits para criação de interface gráfica. Não entendi essa questão do embutido, mas o esquema é o seguinte na hora da compilação você faz a ligação com a biblioteca utilizada. Você pode configurar uma IDE para fazer isso ou utilizar a linha de comando.

Sobre GTk recomendo que veja esse material

gufsc.das.ufsc.br/tiki-download_file.php?fileId=38

Só para constar há também o wxwidgets, não sei informar sobre a portabilidade, mas vale a pena dar uma olhada, muitos aplicativos populares no mundo GNU foram desenvolvidos sobre esse toolkit, ex: audacity, wxmaxima, code:blocks, etc. Agora em se tratando de visual eu prefiro o GTK e o QT.

Obs! A extensão do source é a mesma utilizada no Windows.


7. Re: Migração total para o linux [RESOLVIDO]

???
gokernel

(usa Linux Mint)

Enviado em 01/03/2012 - 17:56h

@imagothor:
"3° Em relação a resposta de gokernel como assim Qt e gtk elas estão embutidas no ubuntu ou no compilador g++ , Opengl são de uma maneira arquivos portátil (voláteis) ou seja pode configurar para que seja multiplataforma seria isso , em relação ao directx já terei muitos arquivos perdidos e muitas lágrimas também rsrsr "

Cara, para obter ajuda seria legal você falar de que tipo de programa pretende desenvolver ... só assim nós lhe indicaria algo para sua real necessidade.

"... como assim Qt e gtk elas estão embutidas no ubuntu ou no compilador g++ ..."
RESPOSTA: o ubunto utiliza o Gnome ... o KDE utiliza o QT.


Veja algo sobre:

01 - QT:
EN: http://en.wikipedia.org/wiki/Qt_%28framework%29
BR: http://pt.wikipedia.org/wiki/Qt

Resumo: é uma "biblioteca grafica" para criar interface.

02 - GTK:
http://pt.wikipedia.org/wiki/GTK

Resumo: é uma "biblioteca grafica" para criar interface.

03 - OpenGL:
http://pt.wikipedia.org/wiki/OpenGL

Resumo: é uma biblioteca grafica para trabalhar com 3D e concorrente direta do DirectX( esse não roda no Linux, somente nos produtos da MicroSoft ).

04 - DirectX ... Somente para Windows:
http://pt.wikipedia.org/wiki/DirectX




8. Re: Migração total para o linux [RESOLVIDO]

adriano silva
imagothor

(usa Ubuntu)

Enviado em 01/03/2012 - 20:09h

boa noite a todos

Talves eu não tenha formulado direito a minha pergunta
em relação a gokernel
"Cara, para obter ajuda seria legal você falar de que tipo de programa pretende desenvolver ... só assim nós lhe indicaria algo para sua real necessidade."

De uma certa maneira eu sou programador de sites( Web designer) e eu uso o c++ como uma segunda linguagem para me ajudar nos códigos de html eu crio pelo método tradicional ou seja na unha

Eu crio alguns códigos em c++ para fazer alguns programinhas do tipo que tem um uma janela com cores e uma outra que mostre o valor em html embora eu saiba que isso tem no gimp ou outro editor gráfico , eu costumo criar as minhas ferramentas para usar na criação das páginas em html em vez de ficar procurando softs do win que são do tipo shareware e depois ficar correndo atras de cracks ou serial

Então como eu abandonei o windows por causa das limitações dos softs do tipo "quer usar pague" fiquei meio perdido em relação a c++ no linux , no html não tive problemas em relação aos códigos e suas posições e caminhos já que todos são relativos a qualquer S.O Desde que eu tenha um browser e um leitor de texto instalado no s.o
pra mim tanto faz se estou no windows linux ou quem sabe mac que nunca usei

Como eu havia perguntado sobre qt ,gtk e etc pq eu não tinha conhecimento sobre isso , só se for o caso de já ter usado no win a gtk de modo indireto já que todos os códigos que escrevia resultava em tela do dos

Por isso peço desculpas se não expressei minha duvida direito


9. Re: Migração total para o linux [RESOLVIDO]

Luis R. C. Silva
luisrcs

(usa Linux Mint)

Enviado em 01/03/2012 - 20:42h

imagothor escreveu:

2° Sobre o Comentário do rei astro qual seria esse arquivo ou extensão equivalente ao dll para que possa reescrever minhas dlls


As dll's são as bibliotecas que o Windows utiliza em alguns programas que em Linux equivalem as bibliotecas .so.


10. Re: Migração total para o linux [RESOLVIDO]

Luis R. C. Silva
luisrcs

(usa Linux Mint)

Enviado em 01/03/2012 - 20:54h

Resumidamente, o Gnome utiliza a biblioteca gráfica GTK, ou seja, as janelas das distribuições Linux que utilizam a interface gráfica Gnome para o sistema operacional utiliza a GTK como biblioteca. Já as distribuições com Kde, utilizam TQ.

Se suas aplicações forem gráficas você tem que escolher qual biblioteca utilizar para que abra a janela. E tanto no site GTK quanto no TQ encontra ambas para C++.

Obs.: Não se preocupe com a distribuição, pois pelos menos todas as grandes suportam tanto GTK quanto QT, independente se for Gnome ou KDE.


11. Re: Migração total para o linux [RESOLVIDO]

Levi Gomes
levi linux

(usa Arch Linux)

Enviado em 01/03/2012 - 21:58h

imagothor escreveu:
Por isso peço desculpas se não expressei minha duvida direito


Não há motivos para pedir desculpas, visto que o fórum é um local destinado ao esclarecimento de dúvidas, para isso estamos aqui.
Qualquer coisa basta postar!



12. Re: Migração total para o linux [RESOLVIDO]

???
gokernel

(usa Linux Mint)

Enviado em 02/03/2012 - 00:12h

Com base no post número 8, me parece que o GTK supre as suas necessidades, mas lembrando que o ele usa C.

Podes tentar o QT que utiliza C++ mas no seu caso seria usar um ELEFANTE onde uma FORMIGA resolveria. ;).

Esses 2 funcionam em várias plataformas sem nenhuma modificação do código.

E já vá se acostumando com o compilador GCC ...

Para desenvolver com o QT:
http://qt.nokia.com/downloads/

Para desenvolver com o GTK:
http://www.gtk.org/download/index.php

Ambas teem um criador visual de interfaces.

Abraços.



01 02



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts