Compilando CGICC com Visual C++ 6.0

Dando continuidade aos posts sobre o projeto de como controlar um ambiente via internet, decidi ilustrar um pouco do que a biblioteca CGICC é capaz.

Um ponto importante para destacar é que essa biblioteca é mantida pelo pessoal da GNU.org, os mesmos que mantém uma série de bibliotecas para linux, inclusive o compilador de C e C++, ou seja, totalmente seguro de usar.

[O que é o CGICC]

CGICC, do inglês Common Gateway Interface for CC (C++), é uma biblioteca escrita totalmente em C++ ANSI e que habilita os programadores de C++ criar aplicativos CGI, ou em outras palavras, aplicativos que possam rodar via WEB.

Você não leu errado. É possível escrever aplicações web em C++ e isso não é novidade. Vários sites fazem uso disso pelo poder do C++.

[Portabilidade]

Atualmente a biblioteca está pronta para ser executada a partir de sistemas que possuam os seguintes compiladores:

  • gcc a partir da versão 2.81;
  • aCC da HP;
  • Microsoft Visual C++ 6.0;
  • C++ Builder 5.0 da Borland;

Essa série de compiladores cobre a maioria dos sistemas operacionais. Já escrevi aplicativos que rodaram em linux e windows, bastando recompilar a aplicação. Com os makefiles da vida, isso não é nenhum impeditivo.

[Compilando com Visual C++ 6.0]

O primeiro passo é baixar a aplicação diretamente pelo site do mantenedor. Pegue a versão mais recente pela url http://ftp.gnu.org/gnu/cgicc/ . No momento que escrevi esse post a versão mais atual era a 3.2.6.

Depois disso, descompacte o arquivo para uma pasta qualquer e abra o workspace (.dsw) que está dentro da pasta win. Lembrando que o arquivo está como .tar.gz; usei o winrar para descompactar.

Após aberto o workspace, aparecerão do lado esquerdo do Visual C++ os projetos carregados, na ordem:

  • cgicc;
  • cookie;
  • dns;
  • example;
  • test;
  • upload;

Clique no menu build e depois build cgicc.dll. No momento em que compilei me deparei com dois cenários:

  1. Faltava o include cgicc/Cgidefs.h e o erro era: cannot open include file: ‘cgicc/CgiDefs.h’. Basta abrir o diretório onde você descompactou os arquivos, abrir a pasta cgicc e renomear o arquivo CgiDefs.h.in para CgiDefs.h;
  2. Depois de mandar compilar novamente, recebi vários erros com as mensages “error C2039: ’<any cctype>’ : is not a member of ’std’” messages. Clique em cada erro e remova o std da frente. Ex: std::isspace(*data_iter) deve ficar ::isspace(*data_iter). Faça isso para todos os casos que aparecerem esse tipo de erro;

Pronto, depois disso tudo deve ter gerado o cgicc.dll. Compile os outros arquivos e jogue dentro da pasta cgi-bin do apache, juntamente com a dll gerada.

Chame o aplicativo via browser e depois é só colocar as idéias para rolar … :D

Aplicação CGI escrita com C++ e cgicc

Happy coding !

Dúvidas ? Comente !

Bookmarksbookmark bookmark bookmark bookmark bookmark bookmark

Popularity: 11%

No Comment