timnicolas / bomberman

3d remake of the classic game Bomberman in C++ with OpenGL.
https://tnicolas42.github.io/bomberman
MIT License
7 stars 0 forks source link

The APP doesn't contain the lib, and does not work if they are not installed. #199

Closed ebaudet closed 4 years ago

ebaudet commented 4 years ago

Dans les app, il faut rajouter les libs et modifier le binaire pour que soient utilisée les libs locales.

otool -L ./bomberman pour lister les libs nécessaires au pgm.

Seule les libs en /usr/local ou /opt/local doivent être rajoutées.

copier les libs dans un dossier lib dans le .app et changer le chemin des libs avec la commande install_name_tool -change old_path_lib new_path_lib path_bomberman_binary

Pour le new_path_lib on peut indiquer un chemin relatif au binaire pour ne pas avoir de soucis de déplacement.

https://github.com/SuperTux/supertux/issues/60#issuecomment-92062341

ebaudet commented 4 years ago

Les libs doivent être accessible en écriture pour pouvoir faire le changement install_name_tool avec un chmod +w avant et un chmod -w après.

ebaudet commented 4 years ago

Les libs doivent aussi être changées au niveau de leurs nom avec install_name_tool -id

ebaudet commented 4 years ago

Le chemin indiqué en modifiant les libs doit être relatif à l'executable.

Pour plus d'infos sur les tags @executable_path, @loader_path et @rpath

https://wincent.com/wiki/%40executable_path%2C_%40load_path_and_%40rpath