Script shell

Fermé
sara - 17 juil. 2009 à 11:16
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 - 17 juil. 2009 à 14:39
Bonjour,
je voudrais appeler une méthode d'une classe qt4 , dans un script shell.
ça veut dire quand j'écris une commande shell (que je la programme dans le scipt)cette méthode est exécutée.
j'éspère que j'ai bien expliqué
veuillez m'aider SVP?
merci d'avance
A voir également:

6 réponses

kouhou88 Messages postés 6 Date d'inscription jeudi 16 juillet 2009 Statut Membre Dernière intervention 21 juillet 2009 4
17 juil. 2009 à 11:22
Ta classe qt4 est programmé par quel language. ?
par ce que'en effet pour exécuter une classe progrmmé en java, tous ce dont t'a besoin est d'ecrire une commande qui execute un fichier (j'espere que tu sais comment, si non dit-lt moi). Et ainsi, a l'execution, tu aura t'a methode de classe qui sera executer.Voilà.
1
re bonjour
ma classe est écite en c++
en fait j'en sais rien comment écrire un script,
veuillez détailler SVP
merci
0
kouhou88 Messages postés 6 Date d'inscription jeudi 16 juillet 2009 Statut Membre Dernière intervention 21 juillet 2009 4 > sara
17 juil. 2009 à 12:22
tout d'abord, tu doit verifier les droits d'exécutionde ton fichier c++.
puis pour ecrire un script shell, tu doit ouvrir kwrite/ou xemacs/ou n'importe quelle editeurs de text sur la console par exemple: -> kwrite nom de ton fichier.sh &
cette commande permet en effet de creer le fichier (et je precise ça doit etre en format sh), et puis une fois ouvert, tu tape ça:


---> if( gcc monfichier.c =! false) monfichier.c ;

Si cela ne marche pas essaye ça:

d'abord compile le fichier : gcc monfichier.c,
puis, sur le script; ecrit juste : monfichier.c

une fois termine, pour executer le script, tu doit 'lexecuter ainsi : nom de ton fichier.sh

et cela j'espere aboutira sur qqc.
0
sara > kouhou88 Messages postés 6 Date d'inscription jeudi 16 juillet 2009 Statut Membre Dernière intervention 21 juillet 2009
17 juil. 2009 à 12:38
merci kouhou,
mon fichier est en c++: file.cpp, je vous ai dit que c'est une classe qt4,
donc lors de la compilation, il trouve pas les include et il trouve pas les objets QT comme par exemple:
<QSQLDatabase>.
merci d'avance
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
17 juil. 2009 à 11:21
Salut,

Tu devras peut être écrire ton programme en c++ et ensuite utiliser ce programme dans un script shell.
0
salut,
wé c'est la deuxième question , comment écrire un programme script ,
veuillez détailler SVP , merci
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
17 juil. 2009 à 12:11
0
merci Lami
mais c'est trop évident que j'ai regardé ça et d'autres avant de poster ma question,
ma fonction que je souhaite l'exécuter contient l'accès à une base de données , une récupération de données, les afficher dans un fichier à créer.
vous voyez la difficulté , c'est pour j'aurais préféré appeler directement ma méthode c++ de la classe qt4 .
merci d'avance
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569 > sara
17 juil. 2009 à 13:12
Re,

Ben, une fois le fichier créer tu peux l'exploiter avec un script shell.

Donc tu compiles ton programme c++ qui va créer le fichier
Tu mets le chemin de programme dans le script
Il te restera à traiter le fichier créé par ton programme

#!/bin/bash

/chemin/vers/programme

# ici tu continue le script pour exploiter le fichier
0
sara > lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019
17 juil. 2009 à 13:21
re salut,
oui mais
mon fichier est en c++: file.cpp, je vous ai dit que c'est une classe qt4,
donc lors de la compilation, il trouve pas les include et il trouve pas les objets QT comme par exemple:
<QSQLDatabase>.
merci d'avance
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569 > sara
17 juil. 2009 à 13:24
Re,

En fait ton problème c'est une histoire de compilation.
Le shell viendra plus tard.

Alors peut être qu'il faudra nous montrer tes messages d'erreurs à la compilation pour essayer de depister les librairies qui manquent.
0
sara > lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019
17 juil. 2009 à 13:44
re salut,
ok, n'oubliez pas que je voudrais excéuter qu'une méthode du fichier

voici des lignes des erreurs:

debian:~/Desktop/iMaqaovliw17/src# gcc statwindowimpl.cpp
In file included from statwindowimpl.cpp:1:
statwindowimpl.h:4:19: error: QWidget: Aucun fichier ou dossier de ce type
statwindowimpl.h:5:24: error: QTableWidget: Aucun fichier ou dossier de ce type
statwindowimpl.h:6:27: error: ui_statwindow.h: Aucun fichier ou dossier de ce ty pe
In file included from statwindowimpl.h:7,
from statwindowimpl.cpp:1:
mainwindowimpl.h:5:23: error: QMainWindow: Aucun fichier ou dossier de ce type
mainwindowimpl.h:6:21: error: QFileInfo: Aucun fichier ou dossier de ce type
mainwindowimpl.h:7:23: error: QMessageBox: Aucun fichier ou dossier de ce type
mainwindowimpl.h:8:23: error: QFileDialog: Aucun fichier ou dossier de ce type
mainwindowimpl.h:9:17: error: QFile: Aucun fichier ou dossier de ce type
mainwindowimpl.h:10:23: error: QVBoxLayout: Aucun fichier ou dossier de ce type
mainwindowimpl.h:11:22: error: QTabWidget: Aucun fichier ou dossier de ce type
mainwindowimpl.h:12:23: error: QScrollArea: Aucun fichier ou dossier de ce type
mainwindowimpl.h:13:23: error: QTextStream: Aucun fichier ou dossier de ce type
mainwindowimpl.h:14:24: error: QApplication: Aucun fichier ou dossier de ce type
mainwindowimpl.h:15:21: error: QTextEdit: Aucun fichier ou dossier de ce type
mainwindowimpl.h:18:32: error: Qsci/qsciscintilla.h: Aucun fichier ou dossier de ce type
mainwindowimpl.h:19:36: error: Qsci/qsciscintillabase.h: Aucun fichier ou dossie r de ce type
mainwindowimpl.h:20:31: error: Qsci/qscilexercpp.h: Aucun fichier ou dossier de ce type
mainwindowimpl.h:21:31: error: Qsci/qscilexersql.h: Aucun fichier ou dossier de ce type
mainwindowimpl.h:22:27: error: ui_mainwindow.h: Aucun fichier ou dossier de ce t ype
In file included from mainwindowimpl.h:24,
from statwindowimpl.h:7,
from statwindowimpl.cpp:1:
graphwidgetcg.h:5:17: error: QMenu: Aucun fichier ou dossier de ce type


merci d avance
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
17 juil. 2009 à 14:02
Re,

Je pense que tu devras utiliser g++ pour la compilation au lieu de gcc vu qu'il s'agit de C++
0
re salut
oui, mais ça donne les memes erreurs , des includes à rajouter,
au fait c'est pas ça le problème (quelles sont les includes à rajouter),
le problème est :où mettre les includes .
je pense que vous allez me dire, à l'entete, oui,
après compilation réuddite , oui
après j'ai l'executable, c'est ce que vous cherchez,
mais mon fichier il contient pas un main, que je veux la lancer, non
moi je veux exécuter seulement une méthode.
merci d'avance
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
17 juil. 2009 à 14:15
Re,

non
moi je veux exécuter seulement une méthode.


Ben, en ce cas tu ne peux pas.
0
merci pour votre temps,
mais moi, j'en suis sure que je peux le faire
à+
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
17 juil. 2009 à 14:39
Re,

mais moi, j'en suis sure que je peux le faire
Alors peut être que j'ai mal compris ou peut être tes explications ne sont pas claires.
0