[C++] QT designer, compilation

Fermé
Char Snipeur Messages postés 9696 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 - 23 juin 2005 à 13:45
 kilian - 8 juin 2008 à 02:00
Bonjour,
J'ai récupérer les sources de QT designer pour win, et j'essai de les compiler avec gcc fournie avec DevCpp.
Je rencontre un problème lors de la création de l'exécutable "uic" lorsque que je le lance, il fait une erreur de segmantation.
Le problème vien de la ligne suivante
    QStringList result;
premiere ligne d'une fonction de class.
comment la déclaration d'une variable peut générer des erreurs de segmentation?
Si quelqu'un a une réponse à ce problème, ou l'a deja rencontrer.
Merci
A voir également:

22 réponses

mamiemando Messages postés 33081 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 27 avril 2024 7 749
23 juin 2005 à 21:46
J'ai fait du qt et je n'ai jamais rencontré ce problème.
http://doc.trolltech.com/3.3/qstringlist.html#QStringList
aurait tendance à me confirmer que ça ne vient pas de là.

Je pense que soit tu as mal installé qt, soit ta segfault se produit ailleurs et n'est détectée qu'à cette instruction.

Comme tu traines sur le forum linux, j'en déduis que tu as un linux et il serait interessant de tester ton programme sous linux pour voir si ca plante aussi (comme ça on saurait si ca vient de ton install ou du programme).

Sous linux, tu peux utiliser le debugger gdb. Tape gdb tonprogramme.exe. Tape r pour provoquer la segfault. Puis tape bt. Comme ça tu seras immédiatement ou et pourquoi ca plante.

Bonne chance
0
Char Snipeur Messages postés 9696 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 297
28 juin 2005 à 08:59
MErci pour la réponse.
Mais je voi que je me suis mal exprimer.
J'ai récupérer les sources pour Windows de QT. Et c'est lors de l'installation de ces sources que ce produit l'erreur.
donc en effet, le problème viens de l'installation de QT. Mais pourquoi.
je vais essayer ce que tu me conseil avec gbd (qui fonctionne aussi sous Win).
0
Char Snipeur Messages postés 9696 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 297
28 juin 2005 à 10:57
voici le résultat du debugeur:
$gdb uic
GNU gdb 5.1.1 (mingw experimental) [...]
This GDB was configured as "mingw32"...
(gdb) r
Starting program: D:\Documents and Settings\LAMOME-JUL\Dev-Cpp5\include\qt-3\tools\designer\uic/uic.exe

Program received signal SIGSEGV, Segmentation fault.
0x00466b11 in QValueListPrivate<QString>::QValueListPrivate() ()
    at ../shared/domtool.cpp:98
98          QStringList result;
(gdb) bt
#0  0x00466b11 in QValueListPrivate<QString>::QValueListPrivate() ()
    at ../shared/domtool.cpp:98
#1  0x004612fd in QValueList<QString>::QValueList() ()
    at ../shared/domtool.cpp:452
#2  0x00465669 in QStringList::QStringList() (this=<incomplete type>)
    at D:/Documents and Settings/LAMOME-JUL/Dev-Cpp5/include/qt-3/include/qstringlist.h:61
#3  0x0041cb14 in main (argc=1, argv=0x3d8018) at main.cpp:55

Je ne comprend pas d'où vien le problème.
0
mamiemando Messages postés 33081 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 27 avril 2024 7 749
28 juin 2005 à 20:28
Aaaah c'est tellement plus simple sous linux ^^

Bon, si c'est le compilateur qui segfault, je te propose d'utiliser un autre compilateur... Mais à mon avis ça vient plutôt d'une variable d'environnement ou d'une option de compilation foireuse. Vérifie bien dans la doc de l'install si tu n'a rien oublié.

Je pense notamment à un vcvars32 ou truc du genre... Mais ça fait trois ans que j'ai pas installer qt sous windows donc je ne me souviens plus trop ;) En tout cas je me souviens l'avoir fait marcher avec visual studio c++...

Sinon peut être as-tu récupéré une install foireuse... mais j'en doute ;o)
0

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

Posez votre question
Char Snipeur Messages postés 9696 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 297
30 juin 2005 à 17:06
c'est 'uic' qui segfault. uic est un programma de QT necessaire lors de la compilation. Mais comme j'ai les sources, il faut daord commencer par compiler uic.
Ceci dit, j'ai toujours le même problème. Pourtant, j'ai bien vérifier mes variables d'environnement. Et j'utilise configure.bat fourni avec les sources.
alors, plutot que de me prendre la tête 107ans, si quelqu'un pouvait me dire où trouver 'uic.exe' . Si tu l'as sur ton PC mamiemando, tu pourrais me l'envoyer?
0
mamiemando Messages postés 33081 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 27 avril 2024 7 749
30 juin 2005 à 19:44
Mais moi je suis sous linux ;) Et les binaires linux et windows c'est pas les mêmes ;o) J'avais qt sous windows l'an dernier quand j'étais en stage :/ Donc non je ne peux pas t'envoyer ça.

Mais si c'est uic qui segfault il est probable qu'il faille soit le recompiler, soit voir s'il ne te manque pas des fichiers et autres vars d'environnements. Soit dit en passant j'ai souvenir que qt est beaucoup plus chiant à installer sous windows que sous linux (ou qt est installé de base si tu as kde).
0
Char Snipeur Messages postés 9696 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 297
1 juil. 2005 à 00:38
Merci.
Tant pis pour moi. :-/
ça doit faire une dizaine de fois que je le recompile : rien à faire.
Si il me manquai des fichiers, je pense que le link se ferai pas...
tu ne peut rien tirer de ce que donne le degueur ?
Mais j'ai trouver une astuce : les libs et include semble correctement installer J'utilise QT designer sous Linux, je fait qmake, et ensuite je compile tout sur Win. La petite appli que j'ai fait tourne.
0
Puisque tu n'arrive pas à compiler Qt, pourquoi ne récupères-tu pas une version déjà compilée pour MinGW disponible ici : http://www.trolltech.com/download/qt/windows.html

Il existe un site français spécialisé dans Qt ici : http://prog.qt.free.fr
0
Char Snipeur Messages postés 9696 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 297
2 juil. 2005 à 23:24
Merci bien je vais essayer ça. Je n'avais pas trouver ce lien.
0
Je voudrais savoir comment vider totalement une TableView qui est lié à un modèle. La fonction clear() efface juste les données mais l'entete, les lignes et les colonnes restent.
Merci
0
Char Snipeur Messages postés 9696 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 297
12 févr. 2008 à 12:53
tu fait un clear, puis tu met le nmbre de ligne et de colonne à zéro.
ce que tu appel "en-tête" c'est le label des ligne et colonnes ? si c'est le cas, il suffit de mettre le pointeur aussi à zéro.
0
merci bien pour la réponse.
Je vais te demander de bien vouloir me donner une solution pour les 2 cas suivants :
-> Quand je navigue dans une ListView par les flèches haur et bas, je voudrais qu'un traitement (SLOT) se produit. J'ai essayé les différents SIGNAL disponioble mais nul n'a donné résultat
-> J'ai des données dans une TableView, j'aimerai bien remplacer quelques données par des graphismes tels que checkedit, radiobutton. Quel moyen utliser.
Merci
0
Char Snipeur Messages postés 9696 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 297
12 févr. 2008 à 15:14
la ça dépasse mes compétences. J'ai du mal à croire qu'on puisse afficher un objet dans une case de tableau.
0
Ben je crois que c'est possible. Je t'envois la solution dès que je l'aurais.
A bientot
0
Par contre est ce que vous avez une solution sur le pb suivant :
J'ai chargé des données de la base de données dans une ListView et j'ai appliqué un filtre sur cette filtre en utilisant QSortFilterProxyModel, mais mon pb c'est que les indexes des lignes ne sont pas actualisés car j'ai un traitement lorsque je clique sur une ligne dans la liste.
0
Comment faire pour supprimer un fichier physiquement (du disque).
Merci
0
bjr, j'espère bien que qqun m'aide pour utiliser c++/qt sous mac os x 10.4.
Svp de me fournir les liens dans lequels je pourrais trouver les outils necessaires, la documentation sur l'installation, l'utilisation des ces outlis, bref tout ce qui est susceptible de m'aider.
Je vous remercie d'avance.
0
Char Snipeur Messages postés 9696 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 297
14 févr. 2008 à 14:23
pour supprimer un fichier du disque dure, il suffit d'utiliser la fonction C standard remove(const char *)
Pour QT, je crois que son intéret est d'être portable, donc tu prends tes sources et tu les compiles sous Mac. Seul souci : récupérer les lib qui vont bien. Mais sous os X ça ne devrai pas trop poser de problème
0
Merci bien pour l'info.
J'espère bien que qqun m'aide pour utiliser c++/qt sous mac os x 10.4 Tiger.
Svp de me fournir les liens dans lequels je pourrais trouver les outils necessaires, la documentation sur l'installation, l'utilisation des ces outlis, bref tout ce qui est susceptible de m'aider.
Je vous remercie d'avance.
0
Salut Char Snippeur, je développer une application qt avec base données FireBird sous windows et je voudais la porter sur mac os x 10.4 Tiger. Es ce que tu peux de donner les étapes à suivre ainsi que les liens des différents outils à utiliser.
Merci d'avance.
0