quinta-feira, janeiro 28, 2010

Ubuntu package

Yesterday I did something I should have done long ago: I created a package for Ubuntu.

In theory it would be just a matter of download the sources and execute the magical commands (./Configure, make and make install).

In practice, for those who just want to use the program, it is very boring and difficult, because the user will have to install each of the development libraries (eg, libgtk +2.0-dev) and their dependencies.

Some time ago a User (which now I think I can call a friend) was trying to compile the GMouseTool and found out several problems (mostly my fault).

He reported me all problems he was facing to compile GMouseTool and I tried to fix them.

I thought it was an absurd he waste his time when the only thing he wanted was to use the program.

I left my laziness aside and I built a package for Ubuntu 9.10, 32-bit version. This way he wouldn't have to worry about the compilation process.

I want to thank John Desanta by not giving up and for helping me solve many problems GMouseTool had.

Oh, and I will release a package for Ubuntu 9.10 (64-bits) until this Sunday.

Pacote para Ubuntu

Ontem eu fiz algo que já deveria ter feito a muito tempo: criei um pacote para o Ubuntu.

Em teoria qualquer um só deveria ter que baixar os fontes e executar os comandos mágicos (./configure, make e make install).

Na prática, para quem quer apenas usar o programa, isso é muito chato e trabalhoso, porque o usuário terá que instalar cada uma das bibliotecas de desenvolvimento (por exemplo, libgtk+2.0-dev) e suas respectivas dependências.

A algum tempo um usuário (que agora acho que posso chamar de amigo) estava tentando compilar o GMouseTool e estava encontrando vários problemas (quase todos por minha culpa).

Conforme ele ia me informando dos erros, eu ia fazendo as correções e ele tentava de novo. Pensei um pouco e achei um absurdo ele estar perdendo seu tempo quando a única coisa que ele queria era usar o programa.

Daí deixei minha preguiça de lado e gerei um pacote para o Ubuntu 9.10, versão de 32 bits para que ele não precisasse mais se preocupar com a compilação.

Assim, quero agradecer ao John Desanta por não ter desistido e por ter me ajudado a resolver vários problemas no GMouseTool.

Ah, e devo disponibilizar um pacote para o Ubuntu 9.10 de 64 bits até este domingo.

quarta-feira, janeiro 06, 2010

The order of the include files make a difference.

Yesterday I was facing some problems to use Google C++ Testing Framework (version 1.4.0).

I got a bunch of error messages from Visual Studio 2005 that you can see below.

Error    1    error C2766: explicit specialization; 'std::numeric_limits' has already been defined    c:\arquivos de programas\microsoft visual studio 8\vc\include\limits    482    
Error    2    error C2766: explicit specialization; 'std::iterator_traits' has already been defined    c:\arquivos de programas\microsoft visual studio 8\vc\include\xutility    678    
Error    3    error C2766: explicit specialization; 'std::_Ptr_cat_helper' has already been defined    c:\arquivos de programas\microsoft visual studio 8\vc\include\xutility    1143    
Error    4    error C2766: explicit specialization; 'std::_Ptr_cat_helper' has already been defined    c:\arquivos de programas\microsoft visual studio 8\vc\include\xutility    1149    

To make a long story short: the order of the include files made a difference. I put line
#include <gtest/gtest.h>
before all other include files and my problems vanished!

A ordem dos tratores altera o viaduto

Ontem eu tive alguns problemas ao tentar utilizar o framework de testes do Google (versão 1.4.0).

Eu recebia várias mensagens de erro do Visual Studio 2005 (que tu podes ver abaixo:

Error    1    error C2766: explicit specialization; 'std::numeric_limits' has already been defined    c:\arquivos de programas\microsoft visual studio 8\vc\include\limits    482    
Error    2    error C2766: explicit specialization; 'std::iterator_traits' has already been defined    c:\arquivos de programas\microsoft visual studio 8\vc\include\xutility    678    
Error    3    error C2766: explicit specialization; 'std::_Ptr_cat_helper' has already been defined    c:\arquivos de programas\microsoft visual studio 8\vc\include\xutility    1143    
Error    4    error C2766: explicit specialization; 'std::_Ptr_cat_helper' has already been defined    c:\arquivos de programas\microsoft visual studio 8\vc\include\xutility    1149    

Para encurtar a história, a ordem dos includes fez toda a diferença. Eu coloquei a linha
#include <gtest/gtest.h>

antes de todos os outros includes e os meus problemas desapareceram.