Rechercher : dans
Par :

[C++] QT designer, compilation

Dernière réponse le 16 fév 2009 à 12:12:32 Char Snipeur, le 23 jun 2005 à 13:45:03 
 Signaler ce message aux modérateurs

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 Salutation !
Char Snipeur

Meilleures réponses pour « [C++] QT designer, compilation » dans :
Compiler du C sous Linux/UNIX VoirSous Linux, le compilateur de C est gcc. Il est installé de base sur plusieurs distributions, mais sur Debian (et celles qui en découlent) il faudra l'installer (aptitude install gcc). gcc Syntaxe de GCC gcc Tout d'abord, il faut savoir...
La compilation et les modules en C et en C++ VoirCet article a pour vocation d'introduire les notions de bases de la compilation en C et en C++ et de la programmation modulaire. Il permet de mieux comprendre les messages d'erreur du compilateur. Les notions abordées ici sont indépendantes du...
Compiler un programme en C avec Dev C++ sous Vista VoirIl est très probable que vous ayez des problèmes lors de la compilation d'une source C sous Vista avec Dev C++. Solution rapide de secours: le compilateur g++ Voici une astuce pour Dev-Cpp : Aller dans "Outils" -> "Options du compilateur" puis...
Télécharger QT SDK VoirQt SDK est une suite de logiciel complète permettant de faire des applications en C++ avec une interface graphique portable sur de multiples OS. - Designer : est un logiciel qui permet de dessiner les fenêtre graphique - Assistant : c'est le manuel...

1

mamiemando, le 23 jun 2005 à 21:46:08

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

Répondre à mamiemando

2

Char Snipeur, le 28 jun 2005 à 08:59:23

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). Salutation !
Char Snipeur

Répondre à Char Snipeur

3

Char Snipeur, le 28 jun 2005 à 10:57:02

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. Salutation !
Char Snipeur

Répondre à Char Snipeur

4

mamiemando, le 28 jun 2005 à 20:28:00

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)

Répondre à mamiemando

5

Char Snipeur, le 30 jun 2005 à 17:06:25

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? Salutation !
Char Snipeur

Répondre à Char Snipeur

6

mamiemando, le 30 jun 2005 à 19:44:51

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).

Répondre à mamiemando

7

Char Snipeur, le 1 jui 2005 à 00:38:02

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. Salutation !
Char Snipeur

Répondre à Char Snipeur

8

jlbrd, le 1 jui 2005 à 20:10:01

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

Répondre à jlbrd

9

Char Snipeur, le 2 jui 2005 à 23:24:26

Merci bien je vais essayer ça. Je n'avais pas trouver ce lien. Salutation !
Char Snipeur

Répondre à Char Snipeur

10

mercure, le 12 fév 2008 à 12:24:05

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

Répondre à mercure

11

Char Snipeur, le 12 fév 2008 à 12:53:11

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.
Salutation ! Quand on sait pas, on touche pas !JBT
Char Snipeur

Répondre à Char Snipeur

12

mercure, le 12 fév 2008 à 14:09:58

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

Répondre à mercure

13

Char Snipeur, le 12 fév 2008 à 15:14:03

La ça dépasse mes compétences. J'ai du mal à croire qu'on puisse afficher un objet dans une case de tableau.
Salutation ! Quand on sait pas, on touche pas !JBT
Char Snipeur

Répondre à Char Snipeur

14

mercure, le 12 fév 2008 à 15:19:38

Ben je crois que c'est possible. Je t'envois la solution dès que je l'aurais.
A bientot

Répondre à mercure

15

mercure, le 12 fév 2008 à 15:30:35

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.

Répondre à mercure

16

mercure, le 14 fév 2008 à 08:57:43

Comment faire pour supprimer un fichier physiquement (du disque).
Merci

Répondre à mercure

17

mercure, le 14 fév 2008 à 11:03:09

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.

Répondre à mercure

18

Char Snipeur, le 14 fév 2008 à 14:23:26

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
Salutation ! Quand on sait pas, on touche pas !JBT
Char Snipeur

Répondre à Char Snipeur

19

mercure, le 14 fév 2008 à 15:18:55

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.

Répondre à mercure