Como usar OpenCV com CMake e Codeblocks no Ubuntu

Continuando as publicações anteriores sobre Como instalar o OpenCV 2.3.1 no Ubuntu 11.10 Oneiric Ocelot com Suporte para Python e Como usar o CMake com o OpenCV agora vou mostrar como usar o OpenCV com o CMake e o Codeblocks IDE. O Codeblocks é um excelente IDE para C++ open source, multi-plataforma, gratuito e concebido para corresponder às maiores necessidades dos utilizadores. É um IDE bastante extensível e configurável. Tenho-o usado desde há mais de 2 anos e nunca senti qualquer necessidade de mudar para outro IDE. Suporta também depuração e code completion que são funcionalidades muito úteis.
 

Configurar o CMake com o OpenCV e o Codeblocks é bastante simples e rápido. Primeiro, deve abrir o terminal e executar o seguinte comando:

sudo apt-get install cmake-qt-gui
Este pacote irá instalar o CMake-gui que é um interface gráfico para o CMake. Após instalar este pacote corra o programa:
cmake-gui
O programa CMake-gui irá abrir e poderá visualizar uma janela com alguns campos de entrada e botões. Terá que fazer os seguintes passos:
 
  • Primeiro, carregue em “Browse Source” e localize a pasta onde tem o seu código-fonte e o ficheiro CMakeLists.txt.
  • De seguida clique em “Browse Build” e especifique a pasta onde deseja que os ficheiros resultantes do processo de compilação sejam colocados.
  • Por fim, clique em Configure e quando aparecer a janela de popup escolha “Codeblocks – Unix Makefiles” e deixe a opção “Use default native compilers” seleccionada.
  • Clique em Finish, espere que a configuração termine e depois carregue em Generate para gerar o Makefile.
Neste momento se abrir a pasta que escolheu para colocar os ficheiros resultantes do processo de compilação verá que tem agora um ficheiro .cbp (Codeblocks Project). Abra-o com o Codeblocks e pode começar a programar 🙂
Há apenas mais uma coisa que terá de fazer. Clique em Project > Properties > Build targets e no campo “Type” do separador “Selected build target options” mude a opção “Commands only” para “Console Application” ou “GUI application”. Caso contrário, quando tentar compilar e correr o projecto irá obter o erro “You can’t ‘run’ a commands-only target…”.
Para usar a funcionalidade de code completion no Codeblocks basta começar a escrever o seu código e depois carregar em Ctrl+Space e as sugestões de código irão aparecer.
Se desejar usar a depuração há ainda uma última mudança que terá de fazer no ficheiro “CMakeLists.txt”. De modo a gerar os símbolos de depuração terá que adicionar a seguinte linha no final do ficheiro.
SET(CMAKE_CXX_FLAGS "-g -Wall")
O seu ficheiro CMakeLists.txt deverá ser semelhante a isto (substitua “project_name” com o nome do seu projecto)
CMAKE_MINIMUM_REQUIRED(VERSION x.x.x)
PROJECT( project_name )
FIND_PACKAGE( OpenCV REQUIRED )
ADD_EXECUTABLE( ${PROJECT_NAME} main.cpp )
TARGET_LINK_LIBRARIES( ${PROJECT_NAME} ${OpenCV_LIBS} )
ADD_CUSTOM_COMMAND(TARGET ${PROJECT_NAME} POST_BUILD COMMAND cp ${PROJECT_NAME} ${PROJECT_NAME}.o )
SET(CMAKE_CXX_FLAGS "-g -Wall")
Nota: A sexta linha de código é opcional. Use-a apenas se desejar realizar alguma operação a seguir ao processo de compilação.
Após realizar este passo e reabrir o projecto no Codeblocks poderá ser necessário mudar o campo “Type” para “Console Application” or “GUI application” novamente.
Para compilar e executar o programa, basta agora pressionar a tecla F9. Para depuração, defina os seus breakpoints e pressione a tecla F8.
Boas programações!

Achou esta publicação útil? Deseja contribuir para outros projectos envolvendo ciências computacionais, electrónica, robótica ou mecatrónica que serão publicados neste blog? Se sim, pode fazer uma doação utilizando o botão do Paypal abaixo. Obrigado! 🙂
 

Donate



  • Facebook
  • Twitter
  • Google Plus
  • LinkedIn
  • Reddit
  • Delicious
  • StumbleUpon
  • Digg
  • RSS
  • Email
  • Print