h1

Roda, roda, roda que a IDE é um sonho que vai compilaaaarrr

outubro 5, 2007

Pois bem, assumindo a máxima: “não pergunta que eu respondo” e para deixar meu legado por aí, caso eu tenha um troço e vá “estudar geologia nos campos celestes”, resolvi postar como se compila algo em C + GTK no terminal. Mastigadinho para quem está começando.
Vai ter que ter na sua máquina(opa, lembrando que eu estou falando de GNU/LINUX em Debian):
– GTK, óbvio
– O famoso pacote build-essential (vai instalar gcc e um monte de coisa necessária para começo da brincadeira, mas se você já tem o negócio pronto, falo o gcc, não precisa do build-essential)
– pkg-config (ele vai dizer ao gcc onde se “esconde” o gtk – na verdade não só o gtk, ele é um dedo-duro no sistema hehehehe… ele retorna informações sobre bibliotecas instaladas)

Agora o legal é saber se seu sistema já tem isso, ou exatamente o que você vai precisar. Execute
dpkg -l | less

Digite
/o que você vai procurar

Tipo
/pkg-config

Aperte o “n” do teclado para mostrar a próxima ocorrência.

Para sair
q
(de quit)

Depois de tudo ok, vamos testar com um programinha básico. Para não imitar todo mundo, vamos fazer um “Pira, pirá, pirô”, ao invés de “Alô Mundo”. Uma documentação que eu gosto é a da GNOME.

#include <gtk/gtk.h>

int main(int argc, char **argv)
{
GtkWidget *janelinha_bonitinha;
gtk_init(&argc, &argv);
janelinha_bonitinha = gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_window_set_title(GTK_WINDOW (janelinha_bonitinha), “Pira, pirá, pirô”);
gtk_window_set_default_size(GTK_WINDOW(janelinha_bonitinha), 300,200);
gtk_widget_show(janelinha_bonitinha);
gtk_main();
return 0;
}

O comando para compilação é:
gcc -Wall -g teste.c -o teste `pkg-config – -cflags – -libs gtk+-2.0`

O ` é crase mesmo, não é aspa simples não.

Depois é só executar
./teste

e ver uma janelinha assim:

exemplo.png

Você pode saber se o pkg-config está pegando se executá-lo sem ser pelo gcc. A saída é algo parecido:
dea@biu-debian:~$ pkg-config –cflags –libs gtk+-2.0
-I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lm -lpangocairo-1.0 -lfontconfig -lXext -lXrender -lXinerama -lXi -lXrandr -lXcursor -lXfixes -lpango-1.0 -lcairo -lX11 -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0

Bem… acho que dá para começar.

peixebeta

Anúncios

4 comentários

  1. Pira, pira, pirou!
    Pirou em Salvador!


  2. Fico contente, principalmente pela sua responsabilidade social no escola aberta, espero que o projetos do Debian na escola, se propague por outras escolas. boa sorte.


  3. Pabéns… por favor, como instalar o GTK ?
    Estou fazendo assim:
    # apt-get install libgtk2.0-dev

    aparece o seguinte erro:

    Os pacotes a seguir têm dependências desencontradas:
    libgtk2.0-dev : Depende: libpango1.0-dev (>= 1.20) mas não será instalado
    Depende: libcairo2-dev (>= 1.6.4-6.1) mas não será instalado
    E: Pacotes quebrados

    Muito obrigado.


  4. Consegui:

    # apt-get install -t squeeze-backports libgtk2.0-dev

    # apt-get -f install

    # apt-get install -t squeeze-backports libgtk2.0-dev



Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: