domingo, 13 de abril de 2008

Netbeans com C++ e GTK+ no Ubuntu/Debian

Queria estudar GTK+ com C++ e não sabia quais ferramentas iria precisar. Como trabalho freqüentemente com Netbeans 6 e sabia da existência do seu plugin de C++, decidi adotá-lo como minha IDE de desenvolvimento em C++ com GTK+. Uma tarefa que me parecia simples deu um pouco de trabalho e muita pesquisa na internet. Os passos pra fazer um Helloworld são esses:
  • Instalar o Netbeans com seu plugin de C++; =P
  • Instalar o pacote GTKmm (pacote que contém a interface em C++), encontrado aqui;
  • Crie um novo projeto de C++ no Netbeans;
  • Crie um arquivo 'main.cc' (importante observar que a extensão deve ser '.cc', pois usaremos orientação a objeto e o netbeans seleciona o compilador por sua extensão, ou seja, se a extensão for apenas '.c' ele utilizará um compilador de C e não compilará o projeto);
  • No arquivo 'main.cc' digite o seguinte código:

#include <gtkmm.h>
#include "helloworld.h"

int main (int argc, char *argv[])
{
Gtk::Main kit(argc, argv);

HelloWorld helloworld;
Gtk::Main::run(helloworld);

return 0;
}
  • Crie um arquivo 'helloworld.h' contendo o seguinte código:
#include <gtkmm.h>
#include
<gtkmm/button.h>
#include <gtkmm/window.h>

public:
HelloWorld();
virtual ~HelloWorld();

protected:
virtual void on_button_clicked();

Gtk::Button m_button;
};
  • Agora crie um arquivo chamado 'helloworld.cc' com o código abaixo:
#include "helloworld.h"
#include <iostream>

HelloWorld::HelloWorld()
: m_button("Hello World")
{
set_border_width(10);

m_button.signal_clicked().connect(sigc::mem_fun(*this,
&HelloWorld::on_button_clicked));

add(m_button);

m_button.show();
}

HelloWorld::~HelloWorld()
{
}

void HelloWorld::on_button_clicked()
{
std::cout << "Hello World" <&lt; std::endl;


Agora basta configurar as bibliotecas do Netbeans e eureka. Isso foi uma das coisas que mais apanhei, mas aí vai:
  • Abra a janela de propriedades do projeto (basta clicar com o botão direito do mouse e depois selecionar 'Propriedades' ou 'Properties');
  • Selecione a opção 'General'. No menu que irá aparecer, desmarque a caixa 'C compiler required';
  • Expanda a opção 'C/C++', depois 'C++ Compiler' e finalmente selecione 'General';
  • Na propriedade 'Include Directories' digite o caminho das bibliotecas GTKmm que foram instaladas. No Ubuntu 7.10 são encontradas no seguinte caminho: /usr/include/gtkmm-2.4:/usr/include/gdkmm-2.4:/usr/include/glibmm-2.4
  • Para finalizar, selecione 'Command Line' dentro de 'C++ Compiler' e digite o seguinte comando em 'Additional Options': `pkg-config gtkmm-2.4 --cflags --libs`
Depois disso é só compilar o projeto e pronto! Seu primeiro Helloworld com Netbeans C++ e GTK+ =))
O exemplo do helloworld foi tirado do site www.gtkmm.org.

Um comentário:

Anônimo disse...

Valeu esta procurando isso fazia um bom tempo. Eu tentei de tudo quanto é jeito achar onde colocava as biblioteca e tudo o mais, mas esqueci que era no pŕoprio projeto, na verdade eu passei por ele e nao reconheci que era ali :D

Vlw!

PS: Para cada novo projeto eu tenho que configurar assim ou fica padrao para todos?