Ambiente de instalação
A instalação foi realizada num notebook rodando Windows 7 32bits. A intenção é ter um ambiente para programas em C++ para captura, processamento e envio de pacotes de dados através das interfaces Ethernet ou Wi-fi do notebook usando o Winpcap. Para facilitar a criação das interface gráficas, será utilizado wxWidgets como ferramenta.Download dos arquivos de instalação
- Code::Blocks e Mingw
No momento em que escrevo, estão disponíveis em [1]. Utilizar o instalador que, além do Code::Blocks, também instala o Mingw juntos (isso poupa tempo); - wxWidgets
No momento em que escrevo, está disponível a versão 3.1 em [2]. Entretanto, a versão utilizada foi a 3.0.2 por eu já ter realizado algumas coisas com essa versão; - WinPcap
Baixar o WinPcap10 em [3];
Baixar o Developer Pack do WinPcap. No momento em que escrevo, a versão disponível é a 4.1.2 em [4];
Instalação dos programas
- Code::Blocks e Mingw
Siga as instruções do instalador e não esqueça de deixar marcado a instalação do "MinGW Compiler". Ao executar o Code::Blocks, ele irá rodar a auto-detecção de compilador automaticamente e ao seu término, apontar para o "GNU GCC Compiler"; - wxWidgets
Siga as intruções do instalador. Eu preferi instalar o wxWidgets na raiz do disco "C:\wxWidgets-3.0.2"; - WinPcap
Instalar o WinPcap10 de seguindo as instruções acordo com o instalador;
Decompactar o arquivo zip do WinPcap devel na raíz do disco (preferi fazer assim para não introduzir espaços nem caracteres estranhos no path para as bibliotecas).
Configurações do ambiente
- Inclua no path do Windows o caminho para a pasta bin do MingW. Isso vai facilitar o acesso as binários dos executáveis do MingW para a compilação do wxWidgets. No Windows 7, o caminho para chegar no local onde se faz essa definição é: Painel de Controle -> Sistema -> Configurações Avançadas de Sistema -> Clicar na aba "Avançado" -> Botão "Variáveis de Ambiente".
Dentro da listagem das Variáveis de Sistema, procurar por "Path" e editar esse conteúdo adicionando o caminho para a pasta "bin" do MingW (no meu caso, "C:\Program Files (x86)\CodeBlocks\MinGW\bin"), seguido de ponto e vírgula no final. No meu caso, o path ficou assim:
C:\ProgramData\Oracle\Java\javapath;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\ATI Technologies\ATI.ACE\Core-Static;C:\Program Files\WIDCOMM\Bluetooth Software\;C:\Program Files\WIDCOMM\Bluetooth Software\syswow64;C:\Program Files\doxygen\bin;C:\Program Files (x86)\Skype\Phone\;C:\Program Files (x86)\CodeBlocks\MinGW\bin;
Faça um teste abrindo um terminal (Clique em Iniciar->Executar, digite "cmd" e dê ENTER), e verificando a versão do gcc através de "gcc -v". Se o path foi colocado corretamente será exibido a versão do gcc que está instalado junto com o MingW. - Para a compilação do wxWidgets, siga os seguintes passos:
- Abra um terminal, e vá para o diretório "../build/msw" da sua instalação (no meu caso foi o caminho "C:\wxWidgets-3.0.2\build\msw");
- Preferi compilar o meu conforme abaixo, mas outras opções estão
disponíveis. Para informações, ver [5]. Lembrando que meu Windows 7 é
para 32 bits.
mingw32-make -f makefile.gcc MONOLITHIC=1 SHARED=1 UNICODE=1 BUILD=debug USE_XRC=1 USE_OPENGL=1 CXXFLAGS="-std=gnu++11" - Tenha paciência, a compilação demora um pouco. Eu tinha uma dúvida em relação a usar build release ou debug, eu achava que haveria diferença de performance. Entretanto, achei essa discussão [6] onde uma pessoa explica que não há diferença. Outra fonte de informações sobre a compilação em Windows pode ser vista em [7];
Novo Projeto
- Abra o Code::Blocks e crie um novo Projeto usando o wxWidgets. Na primeira vez, será solicitado criar uma variável de ambiente "$(#wx)" para apontar o local onde estão estalados os arquivos. Sugiro usar esse recurso ao invés de apontar diretamente o local. No meu caso, o endereço base ficou "C:\wxWidgets-3.0.2", o endereço para "lib" e "include" ficaram as respectivas subpastas desse endereço base;
- Vá em Project > Build Options e marque a opção "-std=c++11"
Referências
[1] http://www.codeblocks.org/downloads/26#windows[2] https://www.wxwidgets.org/downloads/
[3] http://www.win10pcap.org/
[4] http://www.winpcap.org/devel.htm
[5] https://wiki.wxwidgets.org/WxWidgets_Build_Configurations
[6] http://stackoverflow.com/questions/11883074/what-does-mean-by-debug-build-and-release-build-difference-and-uses
[7] http://forums.codeblocks.org/index.php/topic,20607.120.html
Facil de fazer.
ResponderExcluir