
Roda, roda, roda que a IDE é um sonho que vai compilaaaarrr
Outubro 5, 2007Pois 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:
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
Pira, pira, pirou!
Pirou em Salvador!
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.