Caros colegas,
Migrando uma aplicação em C que utiliza a biblioteca
Allegro do Windows para o
Linux me deparei com uma grande diferença entre as duas plataformas.
A compilação, no Windows, muito provavelmente tu abre teu DevC++ adiciona aos parâmetros de compilação a entrada "-lalleg", aplica, tu manda compilar e... beleza foi pra conta do Papa.
Já no Linux, tu chega animadão, cheio de amor pra dar, manda seu "gcc -Wall <arquivo.c> -o programa -lalleg", e vem a decepção, um monte de referências indefinidas... recorremos ao guru Google e encontramos um monte de workarounds, pogs ou qualquer outro nome bonitinho e meigo pra boa e velha gambiarra, e todos eles tem em comum o comando `allegro-config --cflags` `allegro-config --libs` como parâmetros de compilação, alguns variam pra `allegro-config --cflags --libs`mas, em suma, tudo a mesma linda e elegante solução não documentada e engenhosa.
Não satisfeito, fui atrás, li, reli, rezei, fiz promessa, até que fui iluminado com a ideia a seguir, partindo do principio como as outras bibliotecas funcionam, e o resultado é o seguinte nobres colegas.
Como root ou sudo:
# cd /usr/lib
# ln -s liballeg-4.2.2.so liballeg.so
Pronto, teste agora com teu código fonte:
$ gcc -Wall <arquivo.c> -o programa -lalleg
... inacreditável, não? O famoso -lalleg funcionou.
Desde então durmo em paz comigo mesmo. Uma gambiarra a menos no mundo.