Avant d'ajouter plus de détails à ma question, je dois dire quelque chose de très important:
Oui, l'option "Autoriser l'exécution du fichier en tant que programme" est activée dans mon script.
Pour des raisons de programmation (bibliothèques partagées), je ne peux pas exécuter mon programme uniquement à partir de l'exécutable, car je dois accéder à LD_LIBRARY_PATH
avant d'exécuter le programme. J'ai créé ce script pour cela (en gardant à l'esprit que c'est la première fois que j'écris un script):
#!/bin/bash
#Get the current directory and append the SO's location
currentDir=$(pwd)'/libs/'
#Change the library path
export LD_LIBRARY_PATH=$currentDir
#Run the program
./program
Après avoir exécuté ceci à partir du terminal, j’ai pensé que cela fonctionnait, qu’il n’y avait aucune erreur et que le programme ne se plaignait pas de bibliothèques partagées. Mais malheureusement, si j'essaye de double-cliquer sur le fichier .sh
de Nautilus, rien ne se passe. Le pire aussi, c'est que puisque je l'utilise depuis l'interface graphique, je n'ai aucune idée de l'erreur qu'elle génère. J'exécute Ubuntu 14.04 et l'exécutable est un programme C++ utilisant les bibliothèques SFML (oui, je pourrais juste avoir les dépendances, mais SFML n'est pas couramment installé sur les ordinateurs Linux, et c'est d'ailleurs le cas).