Bienvenue sur le forum !

Si vous souhaitez rejoindre la communauté, cliquez sur l'un de ces boutons !

Qt 5 : 5.8.0 - Qt Creator : 4.3.0 - Qt Installer : 2.0.3 - JOM : 1.1.2 - Qt Build suite : 1.7.0 - VS Qt 5 : 2.0.0

[Qt3] [Linux] Prob de compilation avec gcc...

Bonjour,

Voila j'ai enfin décidé de tester mon prog sous linux (je suis sous mandrake 9.1 avec le qt installé par défaut).

Le qmake fonctionne bien.
C'est la make qui m'ennuie. En effet sous windows avec le compilateur de Visual Studio 2003 aucun prob alors que la gcc m'en trouve à la pelle.

La plupart sont des problèmes de casting (VC++ semble plus souple sur ce point...).

Par exemple de frmConv* (classe héritant de QMainWindow) en QObject*, sous gcc je suis obligé de mettre un reinterpret_cast()...

Autre exemple encore plus courant dans mon programme :
void MaFonction(QString&);
les appels suivants ne sont pas tolérés par gcc :
MaFonction( QString("salut") );
MaFonction( tr("salut") );
alors que sous VC++ ca marche.

Je sais résoudre ce genre de problème mais ca risque d'être long :(.

D'où ma question : comment rendre gcc moins sensible ou au contraire VC++ plus sensible :?: De facon à ce que je puisse compiler mon code avec les 2 sans probs.

D'autre part, comment compiler mon prog en statique sous gcc ? (je ne connais pas gcc :/).

Merci d'avance.

Nicolas.

Réponses

  • Bon voila maintenant que ca bloqe à la compilation des .ui.h : "compilation of header file requested"...

    A l'aide :)
  • Je travaille actuellement sur un programme important (13000 lignes de code environ) qui compile à la fois sous Windows et sous Linux sans difficulté. Peut-être y a-t-il plus de Warnings sous Linux mais la compilation aboutie malgré tout correctement. Bon ça ne t'aide sans doute pas beaucoup ce que je te dis.
  • ok c'est rassurant :)

    et tu n'as jamais rencontré de "compilation of header file requested"? peut être un prob avec les moc ?

    EDIT:sur quelle platforme et avec quel compilo édites-tu ton code ?
  • et tu n'as jamais rencontré de "compilation of header file requested"? peut être un prob avec les moc ?
    Non jamais.
    sur quelle platforme et avec quel compilo édites-tu ton code ?
    Visual C++ 6 et gcc en ligne de commande (c'est à dire make).
  • ok merci.

    Bon j 'essaye toujours de compiler sous linux, pour plus de facilité j'ai installé mandrake 10.1 sur ma machine perso. mais voila qt ne semble pas livré avec (il l'était sous la 9.1 que j'avais avant) ! Je dois être maudit :)

    J'essaye donc de l'installer mais au moment de la compilation (de qt) on me dit qu'il me manque des fichiers (Xlib.h, Xutil.h...) j'ai regardé un peu sur le net mais pas moyen de trouver cette librairie :)

    Est-ce que par hasard qqun saurait comment je pourrais m'en sortir ? Merci.

    Décidemment je suis pas copain avec ce fichu pinguin...
  • Même sous 10.1 tu dois avoir un RPM qt-devel ou un nom s'en rapprochant.
  • c'est libqt3-devel et pour les headers Xlib.h et Xutil.h c'est libxorg-x11-devel mais ça devrait s'installer automatiquement grace aux dépendances
  • Salut,

    Merci de ta réponse.

    J'ai regardé sur le dvd d'install, et il y a bien un libqt3-3.3.3-26mdk.i586.rpm mais il me dit qu'il est deja installé... alors que non. enfin j'avais fait une copie moi même et c'est à la compile que ca bloquait (a partir d'une archive du net, voir plus haut), j'ai donc plutot essayé de trouver la libxorg : pas sur le dvd... je vais sur le net et la à l'install on me dit qu'il manque libpng, je d/l libpng et on me dit qu'il manque zlib... ca va durer longtemps comme ca ? je fais comment alors ? c'est vraiment l'enfer ce truc... sous windows j'ai fais ca en 10 secondes... y a pas tutorial qui explique comment installer qt la dessus (les seuls que j'ai trouvé ne prennent pas en compte les xlib.h & co manquants...).

    Merci d'avance... je commence à déseperer car en plus a coup sûr une fois installé ca voudra encore pas compiler ce @é"_ç##[-è de truc...

    Nicolas.
  • C'est normal, tu ne cherches pas le bon packages. libqt3-3.3.3-26mdk.i586.rpm contient juste les libraires dynamiques de qt. qt est séparé en plusieurs packages pour ne pas perdre de la place inutilement. Il te faut libqt3-devel qui contient les headers, moc, qmake...

    Pour installer tout ce qu'il te faut, tapes urpmi libqt3-devel en tant que root et il devrait te demander d'inserer le dvd et t'installer tout ce dont tu as besoin.
  • Salut,
    Certains paquetages demandés ne peuvent pas être installés :
    libqt3-devel-3.3.3-27mdk.i586 (car devel(libXrender) est non satisfait)
    :(

    Ahhhhhh :)
  • Tu dois avoir un probleme de source urpmi, utilise http://easyurpmi.zarb.org/ pour les régler
Connectez-vous ou Inscrivez-vous pour répondre.