Autor Tópico: Instalando pacotes de desenvolvimento para C++  (Lida 3435 vezes)

Offline rev087

  • Usuário Ubuntu
  • *
  • Mensagens: 2
    • Ver perfil
    • vault7.com
Instalando pacotes de desenvolvimento para C++
« Online: 29 de MAR?O de 2008, 02:14 »
Olá!

Estou aprendendo a programar em C++ (já sou programador PHP/Javascript, e tive alguma experiência com C e Python no passado), mas estou tendo muita dificuldade em instalar pacotes de desenvolvimento. Especificamente, usei o Synaptic para instalar a libcairomm-1.0-dev e a libgtk2.0-dev. Acredito (pelo que li nas documentações) que isto seja o suficiente/necessário para desenvolver aplicações usando GTK e/ou Cairo.

Porém, não consigo incluir os headers cairo.h e libgtk2.0-dev, e tentando um "locate cairo.h" e "locate gtk.h" no terminal, também não encontro nada.

Eu entendi tudo errado? Como eu consigo estes arquivos? Estou usando Ubuntu 7.10 e compilando com g++.

Darcamo

  • Visitante
Re: Instalando pacotes de desenvolvimento para C++
« Resposta #1 Online: 29 de MAR?O de 2008, 13:51 »
Acontece que embora esteja instalado no sistema, o compilador não sabe onde eles estão.
Para programar com GTK no C++ sugiro utilizar a GTKmm, que é um bind da GTK (que é feita em C) para C++.

Depois de instalar a gtkmm (pacote libgtkmm-2.4-dev) vá em um terminal e execute o comando
Código: [Selecionar]
pkg-config gtkmm-2.4 --cflags --libsVai retornar um bocado de coisa que deve ser informado para o compilador para que ele possa achar os arquivos .h da biblioteca e o linkador ache a biblioteca para linkar.

Mas não é complicado de usar e nem precisa copiar esse bocado de coisa.
Como uma maneira fácil para compilar então um programa feito em GTKmm, por exemplo dois arquivos chamados arquivo1.h e arquivo2.cpp, basta usar então o comando
Código: [Selecionar]
g++ arquivo1.h arquivo2.cpp `pkg-config gtkmm-2.4 --cflags --libs`
Note que "pkg-config gtkmm-2.4 --cflags --libs" está entre dois sinais de crase. Isso significa "rode isso no terminal e coloque a qui o resultado".

Dá uma olhada na documentação da GTKmm no site http://www.gtkmm.org/ que está bem explicado.