Programar em C++ no linux, que programa usar?

Iniciado por leonardombn, 15 de Março de 2012, 22:20

tópico anterior - próximo tópico

leonardombn

Boa noite,

Sou iniciante no Linux, comecei a estudar c++ na faculdade, antes eu usava o windows e compilava no programa dev c++, queria uma ajuda de como programar no linux em c++, pesquisei e vi que posso usar o " gcc " mas não estou conseguindo executar programas do dev c++ com extensão .cpp com o gcc.
Tentei executar pelo diretório onde estão os arquivos com o comando: gcc nomeprograma.cpp -o nomeprograma
Erro "Arquivo ou diretório não encontrado".
O que faço?


Aguardo a ajuda de todos,

obrigado,

Leonardo Neves.

jpaulo7

Recomendo a IDE code::blocks muito boa mesmo, utilizei ela na minha cadeira de linguagem C na faculdade.  ;D
"Penso 99 vezes e nada descubro. Deixo de pensar, mergulho no silêncio, e a verdade me é revelada." Albert Einstein

yzarc

na minha opinião, a melhor ferramenta é o netbeans. baixe a versão especifica para c++, ou a versão normal e depois baixe o plugin.
embora seja feita para java, tem muito recurso interessante pra c++. Vale também testar o eclipse para c++. Ambos vêm com excelentes ferramentas de depuração.

já postei a mesma pergunta neste fórum e cheguei a essa conclusão, as melhores ide's para c e c++ são na verdade java ide's. 

mas se vc ta aprendendo, talvez codeblock seja melhor por não trazer tantas "ajudinhas".
; Linux is almost there!

irtigor

O codeblocks tem tantas "ajudinhas" quanto o eclipse (mais -- pelo que vi) ou o netbeans.

Eu gosto e procuro usar o unix como ide, e pra isso não usaria nenhum dos três.

Darcamo

Só um detalhe, gcc é um compilador de C. Para C++ você deve usar o g++.

jpaulo7

No ubuntu 12.04 para instalar a biblioteca gtk 2.0 para desenvolvimento
apt-get install libgtk2.0-dev

No ubuntu 12.04 para instalar a biblioteca gtk 3.0 para desenvolvimento
apt-get install libgtk-3-dev

Exemplo em C com a biblioteca gtk 2.0
/* Primeiro Exemplo - Alo Mundo - alo.c */

#include <gtk/gtk.h>
int main(int argc, char **argv)
{

        GtkWidget *janela;
        gtk_init(&argc, &argv);
        janela = gtk_window_new(GTK_WINDOW_TOPLEVEL);
        gtk_window_set_title(GTK_WINDOW (janela), "Alo Mundo");
        gtk_widget_show(janela);
        gtk_main();
        return 0;
}
/* Fim do Primeiro Exemplo */


Para compilar na biblioteca gtk 2.0

gcc alo.c -o alo `pkg-config --cflags --libs gtk+-2.0`

Para rodar o programa
./alo
"Penso 99 vezes e nada descubro. Deixo de pensar, mergulho no silêncio, e a verdade me é revelada." Albert Einstein

leonardombn


Darcamo,

Instalei o C++ pode dar um help ai como compilar?

Jpaulo7,

Mas no gcc eu compilo c++ poque um dos nossos amigo disse que o gcc funciona apenas para C ?

Galera,

Mais uma pergunta, tem algum software parecido com o notepad++ para linux?

jpaulo7

#7
Para instalar o g++ como usuário root #
apt-get install g++

exemplo de hello world em c++
#include <iostream>

using namespace std;

int main()
{
 cout << "Hello World \n";
 return 0;
}


para compilar
g++ hello.cpp -o hello

para rodar o programa
./hello
"Penso 99 vezes e nada descubro. Deixo de pensar, mergulho no silêncio, e a verdade me é revelada." Albert Einstein

Darcamo

Como o jpaulo7 disse, para compilar basta rodar o comando
g++ hello.cpp -o hello
onde a opção "-o hello" serve para dizer que o arquivo executável gerado deve ter o nome "hello". Bem simples nesse caso.

Caso seu programa tenha mais de um arquivo (quase sempre), você deve passar todos eles na hora de compilar.
Por exemplo,
g++ arquivo1.cpp arquivo1.h arquivo2.cpp -o nome_do_executavel
Claro que a medida que o número de arquivos aumenta, digitar o comando no terminal começa a ficar trabalhoso demais. Normalmente se utiliza alguma maneira de automatizar esse processo. Por exemplo, através do programa "make", que requer a criação de um arquivo chamado "Makefile".

A coisa complica mais quando você utiliza bibliotecas externas, aí tem que dizer para o g++ onde estão os arquivos  dessa biblioteca ("-I/path/onde/estao/os/arquivos_ponto_h") e para o linkador (rodado que o g++ chama) o nome da biblioteca para linkar ("-lNome_da_Biblioteca"). Sugiro que evite bibliotecas externas por enquanto até entender bem com tudo isso funciona.

Ao usar uma IDE usualmente a IDE se encarrega desses comandos de compilação para você. Normalmente as IDEs criam um Makefile (ou algo semelhante) para você e você compila seu programa clicando em algum botão na IDE. Mas também é perfeitamente possível (e não é difícil) criar um Makefile, programar em um editor de texto como o gedit e apenas rodar o comando "make" (na pasta onde você criou o Makefile) para compilar o seu programa.

O tópico abaixo ensina como criar um Makefile que "compila tudo que está na mesma pasta que o Makefile".
http://ubuntuforum-pt.org/index.php/topic,21155.0.html

GiovanniVM

Citação de: leonardombn online 15 de Março de 2012, 22:20

Tentei executar pelo diretório onde estão os arquivos com o comando: gcc nomeprograma.cpp -o nomeprograma
Erro "Arquivo ou diretório não encontrado".
O que faço?

Amigo, você tem que ter esse arquivo .cpp na pasta pessoal (por padrão), para dar esse comando direto. Se não é só "andar" até o diretório com o comando cd. EX: cd Imagens

E quando estiver na pasta do arquivo aí sim pode rodar o comando.

Depois você executa o programa compilado assim: ./nome_de_programa

Govanni.
--> Giovanni Vi. Mor. <--

Xinitrc

Você pode utilizar o Monodevelop,ele aceita linguagem C++ e GTK.
O seu recalque bate no IPTABLES e DROPA.