comment faire un executable linux
-
- Messages : 12
- Inscription : dim. 15/mars/2009 11:07
comment faire un executable linux
Bonjour à tous,
Voilà, je découvre PureBasic sous linux, et j'ai une question concernant les exécutables:
1/je fais une application toute simple qui lance une console.
2/ je la lance avec F5, ok pas de Pb.
3/ dans le menu complilateur, je clique sur créer un exécutable
4/ je choisi un dossier rapidement une fenêtre apparait et disparait
5/ un fichier a bien été créé dans le répertoire
Comment le lancer ?
J'ai essayé en cliquant dessus, mais rien
J'ai ouvert une console et tapé le nom du fichier mais ça va toujours pas
Comment faite vous ?
Merci et bonne journée
Pierre
Voilà, je découvre PureBasic sous linux, et j'ai une question concernant les exécutables:
1/je fais une application toute simple qui lance une console.
2/ je la lance avec F5, ok pas de Pb.
3/ dans le menu complilateur, je clique sur créer un exécutable
4/ je choisi un dossier rapidement une fenêtre apparait et disparait
5/ un fichier a bien été créé dans le répertoire
Comment le lancer ?
J'ai essayé en cliquant dessus, mais rien
J'ai ouvert une console et tapé le nom du fichier mais ça va toujours pas
Comment faite vous ?
Merci et bonne journée
Pierre
Quel type d'application ? console ? avec une interface évolué (GUI) ?
Ton exécutable à t'il les autorisation nécessaire pour s'exécuter ?
Met ton code ici entre les balise
Ton exécutable à t'il les autorisation nécessaire pour s'exécuter ?
Met ton code ici entre les balise
Code : Tout sélectionner
[/code ]
-
- Messages : 12
- Inscription : dim. 15/mars/2009 11:07
Bonjour Cpl.Bator,
Et bien voilà mon code et merci de m'aider :
Et bien voilà mon code et merci de m'aider :
Code : Tout sélectionner
OpenConsole()
#port = 0
fd = 0
fd = ReadFile(#port,"/dev/")
If fd
Print( "ok marche")
Delay(5000)
Else
OpenConsole()
Print("marche pas")
Delay(5000)
EndIf
déjà inutile d'ouvrir la console deux fois ^^'
ensuite une fois dans le terminal pas de problème
Code : Tout sélectionner
OpenConsole()
#port = 0
fd = 0
fd = ReadFile(#port,"/dev/")
If fd
Print( "ok marche")
Delay(5000)
Else
Print("marche pas")
Delay(5000)
EndIf
PS : tu utilise quelle distribution ?chaos@chaos:~$ cd Bureau/
chaos@chaos:~/Bureau$ ./test
ok marche
-
- Messages : 12
- Inscription : dim. 15/mars/2009 11:07
RESOLU
Bonsoir Chaos,
Ok, ça marche
Je ne savais pas que je devais utiliser ./ avant le nom du fichier
Merci et bonne soirée
Pierre
Ok, ça marche
Je ne savais pas que je devais utiliser ./ avant le nom du fichier
Merci et bonne soirée
Pierre
Bonsoir pierre,lapenduledargent a écrit :Bonjour Cpl.Bator,
Et bien voilà mon code et merci de m'aider :
Code : Tout sélectionner
OpenConsole() #port = 0 fd = 0 fd = ReadFile(#port,"/dev/") If fd Print( "ok marche") Delay(5000) Else OpenConsole() Print("marche pas") Delay(5000) EndIf
j'en reviens sur ton code et sur ton soucis d'ouverture via openfile, j'ai testé ce code, que dit-il chez toi ?
Code : Tout sélectionner
#file_dev = 99
fd.i = 0
OpenConsole()
fd = OpenFile(#file_dev,"/dev/dsp")
If fd
PrintN("Lecture fichier dsp OK")
CloseFile(#file_dev)
EndIf
Print("Hit a key !"):Input()
CloseConsole()
c'est bien vrai, mais je me suis mal expliqué en fait, puisqu'à la base la demande était d'ouvrir le port parallèle pour lire et écrire, il faut donc utiliser OpenFile, Readfile étant uniquement destiné qu'à lire les données et non les écrire d'ou la possibilité d'ouvrir le répertoire.djes a écrit :Tiens, ça me dit quelque chose, on ne peut pas faire un readfile d'un répertoire sous Linux? Puisque les répertoires sont des sortes de fichiers...? J'avais lu ça quelque part, mais je me trompe peut-êtreflaith a écrit :Attention, dans ton code, tu fais readfile d'un répertoire ...
Bref tu as bien fait d'apporter ce détail
-
- Messages : 12
- Inscription : dim. 15/mars/2009 11:07
Bonjour et merci à tous pour votre aide précieuse.
A peine inscrit sur le forum et déjà beaucoup d'aide
Ca fait plaisir lorsque l'on démarrage dans un projet de programmation.
Je me débrouille en php mais à présent, je souhaite commander le port // comme expliqué dans ce post
http://www.purebasic.fr/french/viewtopi ... 4977#94977
Merci flaith pour ton code, il fonctionne et j'ai ajouté ça après le IF :
Else
PrintN("Lecture impossible")
Alors avec ReadFile, pas de Pb mais avec OpenFile, j'ai une erreur.
C'est normal puisque je ne suis pas le propriétaire du fichier.
Le propriétaire est ROOT et le groupe est kmem
Qui est ce kmem sous ubuntu ?
En C, j'ai lu qu'il existe des possibilités de modifier momentanément les droit d'un fichier.
Sur mon autre poste, Chaos, me propose ça :
Merci et bonne journée
Pierre
A peine inscrit sur le forum et déjà beaucoup d'aide
Ca fait plaisir lorsque l'on démarrage dans un projet de programmation.
Je me débrouille en php mais à présent, je souhaite commander le port // comme expliqué dans ce post
http://www.purebasic.fr/french/viewtopi ... 4977#94977
Merci flaith pour ton code, il fonctionne et j'ai ajouté ça après le IF :
Else
PrintN("Lecture impossible")
Alors avec ReadFile, pas de Pb mais avec OpenFile, j'ai une erreur.
C'est normal puisque je ne suis pas le propriétaire du fichier.
Le propriétaire est ROOT et le groupe est kmem
Qui est ce kmem sous ubuntu ?
En C, j'ai lu qu'il existe des possibilités de modifier momentanément les droit d'un fichier.
Sur mon autre poste, Chaos, me propose ça :
Ca à pas l'air de fonctionner que me proposez-vous SVP.sous debian tu peut lancer ton application avec la commande "su monappli.out" ou "sudo monappli.out" sous ubuntu.
Merci et bonne journée
Pierre
.out n'est pas une commande c'est juste que sous windows on utilise .exe pour les exécutables et sous linux il fut un temps ou il était d'usage de mettre .out d'ailleurs le compilateur de PB sort un fichier .out l'osque l'on ne spécifie pas de nom d'exécutable.
donc tu doit faire
donc tu doit faire
Code : Tout sélectionner
sudo ./tonexecutable
quand je fais le test avec '/dev/dsp' c'est en root:audio chez moi, tu dois sûrement faire parti du groupe audio, ca a donné quoi lors du lancement du programme ? Sinon ajoute le groupe 'audio' a ton utilisateurlapenduledargent a écrit :...
Alors avec ReadFile, pas de Pb mais avec OpenFile, j'ai une erreur.
C'est normal puisque je ne suis pas le propriétaire du fichier.
Le propriétaire est ROOT et le groupe est kmem
lapenduledargent a écrit :Qui est ce kmem sous ubuntu ?
Code : Tout sélectionner
flaith@sangha:~$ man kmem
j'ai fait ca pour Linux, c'est les mêmes accès mais bas niveaux http://www.purebasic.fr/french/viewtopic.php?t=9109, ca donne quelque chose chez toi ?lapenduledargent a écrit :En C, j'ai lu qu'il existe des possibilités de modifier momentanément les droit d'un fichier.
...
-
- Messages : 12
- Inscription : dim. 15/mars/2009 11:07
Bonjour,
Concernant le code de Chaos, ça fonctionne. Je peux donc lancer mon appli en root.
Je viens de tester le code de Flaith :
J'ai donc fait 2 fichiers :
- io_linux.pbi
- test_io.pb
Mais j'ai une erreur, File not found ? à la ligne XIncludeFile "io_linux.pbi"
Je débute en purebasic et je comprends pas, le fichier à inclure est pourtant dans le même répertoire?
A bientôt
Pierre
Concernant le code de Chaos, ça fonctionne. Je peux donc lancer mon appli en root.
Je viens de tester le code de Flaith :
J'ai donc fait 2 fichiers :
- io_linux.pbi
- test_io.pb
Mais j'ai une erreur, File not found ? à la ligne XIncludeFile "io_linux.pbi"
Je débute en purebasic et je comprends pas, le fichier à inclure est pourtant dans le même répertoire?
A bientôt
Pierre
-
- Messages : 12
- Inscription : dim. 15/mars/2009 11:07