Como criar uma Janela em C/C++?

1. Como criar uma Janela em C/C++?

Ericson Willians Rocha Pires
EricsonWillians

(usa Ubuntu)

Enviado em 05/04/2008 - 01:51h

Como criar uma simples janela em C e C++? Escrito alguma coisa?

Tenho idéia de que posso aplicar SDL para este feito, mas isto por enquanto é impossível porque não consegui instalar corretamente o SDL.

Alguém poderia me dizer algo sobre como criar uma Janela, um pedaço de menu, qualquer coisa gráfica não-console com C e C++?

Sou realmente muito grato!


  


2. Re: Como criar uma Janela em C/C++?

Thiago
thiagoamm

(usa Ubuntu)

Enviado em 05/04/2008 - 08:23h

Você pode usar bibliotecas com Qt, QTK, wxWidgets e etc.


3. Re: Como criar uma Janela em C/C++?

Fagner Amaral de Souza Candido
f_Candido

(usa Ubuntu)

Enviado em 05/04/2008 - 18:26h

Além das API's citadas acima pelo colega, temos o GTK+. Muito útil.
Abraços.


4. Re: Como criar uma Janela em C/C++?

Ericson Willians Rocha Pires
EricsonWillians

(usa Ubuntu)

Enviado em 05/04/2008 - 19:34h

Muito obrigado! Vou procurar usar estas bibliotecas! Mas como disseram, sobre GTK, tenho um probleminha.

Quando eu dou "#include <gtk.h>" aparece uma infinidade de erros, certamente porque instalei a biblioteca de maneira errada, imagino.

Poderiam me dizer como instalar a biblioteca GTK de maneira que funcione quando eu coloque "#include <gtk.h>" no código?

Muito obrigado novamente!

Eu notei que GTK é perfeito para eu realizar o que eu quero, até encontrei um link muito útil de C/GTK aqui.. Mas este problema de não funcionar quando eu incluo no código é triste rs.. Estou horas e horas tentando arrumar


5. Re: Como criar uma Janela em C/C++?

Fagner Amaral de Souza Candido
f_Candido

(usa Ubuntu)

Enviado em 05/04/2008 - 22:41h

Neste caso, procure sobre a Documentação oficial do GTK+, ou o site em Português, sobre o Mesmo. São as melhores fontes de consulta. GTK+ é muito bom, e fácil de se mexer.

Espero ter ajudado,

Abraços


6. Candido..

Ericson Willians Rocha Pires
EricsonWillians

(usa Ubuntu)

Enviado em 05/04/2008 - 23:58h

Verifiquei no site e não encontrei, o erro que acontece não faz muito sentido, quando eu compilo o código com o gtk incluido aparecem erros assim:

from Teste.c:1:
/usr/include/gtk/gtkspinbutton.h:79: error: expected specifier-qualifier-list before ‘GdkWindow’
/usr/include/gtk/gtkspinbutton.h:107: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘gtk_spin_button_get_type’
/usr/include/gtk/gtkspinbutton.h:111: error: expected declaration specifiers or ‘...’ before ‘gfloat’
/usr/include/gtk/gtkspinbutton.h:112: error: expected declaration specifiers or ‘...’ before ‘guint’
/usr/include/gtk/gtkspinbutton.h:115: error: expected declaration specifiers or ‘...’ before ‘gfloat’
/usr/include/gtk/gtkspinbutton.h:116: error: expected declaration specifiers or ‘...’ before ‘guint’
/usr/include/gtk/gtkspinbutton.h:124: error: expected declaration specifiers or ‘...’ before ‘guint’
/usr/include/gtk/gtkspinbutton.h:126: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘gtk_spin_button_get_value_as_float’
/usr/include/gtk/gtkspinbutton.h:128: error: ‘gtk_spin_button_get_value_as_int’ declared as function returning a function
/usr/include/gtk/gtkspinbutton.h:131: error: expected declaration specifiers or ‘...’ before ‘gfloat’
/usr/include/gtk/gtkspinbutton.h:141: error: expected declaration specifiers or ‘...’ before ‘gfloat’
In file included from /usr/include/gtk.h:116,

Está complicado de arrumar rsrs.. E eu quero muito, realmente muito usar esse GTK, com certeza é fundamental para eu desenvolver algo.


7. Re: Como criar uma Janela em C/C++?

Geraldo José Ferreira Chagas Júnior
gjr_rj

(usa Debian)

Enviado em 06/04/2008 - 00:48h

Dá uma olhada nessa página, te ensinará a instalar o SDL. É de um ex-professor meu e tudo funciona, pois já testei. Na realidade, tive problemas com a parte de som, mas só.
http://equipe.nce.ufrj.br/adriano/c/apostila/sdl/index.html


8. Re: Como criar uma Janela em C/C++?

Thiago
thiagoamm

(usa Ubuntu)

Enviado em 08/04/2008 - 09:18h

EricsonWillians talvez você não tenha informado o nome da biblioteca como argumento para seu compilador na linha de comando. Sendo assim, ele não consegue ligar a biblioteca ao seu codigo.
Os arquivos de cabeçalho #include <gtk.h> apenas informam ao pré-processador para adicionar o conteúdo "texto" do arquivo .h no seu código em tempo de compilação.
O arquivo .h contém apenas os protótipos "modelos" das funções informando qual tipo de retorno e os tipos de parâmetros.
Para que o código compilado da biblioteca seja realmente ligado a teu programa você deve adicionar o nome da biblioteca como argumento para o compilador.
Por exemplo:
Se for usar rotinas aritméticas "matemáticas" no C/C++ você deve incluir o arquivo de cabeçalho math.h
Esse arquivo apenas adiciona os protótipos de todas as funções da biblioteca para que o compilador possa fazer checagem de parâmetros e tipo de retorno. Para compilar você digitaria gcc meuprograma.c -o nomeprograma -lm
Esse -lm diz ao ligador "linker" para buscar o código compilado da biblioteca e juntá-lo ao código compilado do seu programa para formar um executável.


9. Thiagoamm

Ericson Willians Rocha Pires
EricsonWillians

(usa Ubuntu)

Enviado em 08/04/2008 - 09:25h

Era este mesmo o problema, não estava usando o comando correto para compilar, estava usando: gcc arquivo.c

E o correto era: gcc -o arquivo arquivo.c -Wall -g `gtk-config --cflags --libs`







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts