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:
- 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;
- 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 …

Happy coding !
Dúvidas ? Comente !
Popularity: 11%







