21 août 2019

Compiler la librairie ZGameEditor pour Linux 32 avec Free Pascal


Je suis en train de batailler pour produire une version Linux d'Omeganaut. Mais pour cela, il me faut tout d'abord compiler ZGameEditor pour Linux 32 bits. Je précise bien 32 bits, parce que 64 bits c'est pas encore gagné... Comme d'habitude, j'en ai fait un tuto pour laisser une trace indélébile sur internet.

Cette méthode ne fonctionne qu'à partir d'un ordinateur sous Linux 32 bits. Je n'ai pas encore réussi à compiler la version 32 bits depuis un Linux 64 bits. Je complèterai ce tutoriel par la suite si jamais j'y arrive. Ensuite, il faut simplement copier/coller les lignes de code dans la console. C'est quand même sympa Linux, quand ça fonctionne...

Mettre à jour les sources et installer les librairies nécessaires (important, ça ne fonctionne pas avec libsdl2-dev) :

sudo apt-get update
sudo apt-get install fp-compiler subversion libsdl1.2-dev

Compiler la dernière version de Free Pascal :

svn checkout http://svn.freepascal.org/svn/fpc/trunk fpc
cd fpc
sudo make all
sudo make install

Télécharger et compiler ZGameEditor :

cd ..
svn checkout https://github.com/VilleKrumlinde/zgameeditor.git zge-src
cd zge-src/trunk
mkdir Build Build/obj
/usr/local/lib/fpc/3.3.1/ppc386 -al -XXis -O2 -dZZDC_SDL SDL -dMINIMAL -FU./Build/obj/ -Fu/usr/local/lib/fpc/3.3.1/units/i386-linux/pthreads/ -Fu/usr/local/lib/fpc/3.3.1/units/i386-linux/fcl-base/ -Fu/usr/ local/lib/fpc/3.3.1/units/i386-linux/libc/ -Fu/usr/local/lib/fpc/3.3.1/units/i386-linux/paszlib/ -Fu/usr/local/lib/fpc/3.3.1/units/i386-linux/hash/ -Fu/usr/local/lib/fpc/3.3.1/units/i386-linux/rtl-objpas/ -B -Mdelphi -FE./Build/ ZzDC.dpr

Renommer le fichier ZzDC obtenu en Player_linux.bin :

cd Build
mv ZzDC Player_linux.bin

Il ne vous reste plus qu'à déplacer le fichier Player_linux.bin dans votre dossier ZGameEditor.

Maintenant, vous pouvez exporter votre projet ZGE en utilisant Project/ Build Linux x86 binary, même sous Windows :

Build Linux x86 binary from ZGameEditor


Pour terminer avec ce tuto, voici les erreurs que vous pouvez obtenir par la suite lors du lancement de votre jeu sur Linux :


Permission denied

Il faut donner la permission de lecture et d'exécution à votre fichier :

chmod 755 your_file_name


error while loading shared libraries: libSDL-1.2.so.0: cannot open shared object file

Il suffit d'installer une librairie manquante :

sudo apt-get install libsdl-image1.2:i386


Et voilà. Si jamais vous avez l'occasion d'utiliser ce tutoriel, laissez-moi un petit message sur cette page, j'aurais l'impression d'être moins seul au monde à faire ce genre de trucs... Merci !


Tags

Catégories

Archives