| View previous topic :: View next topic |
| Author |
Message |
Aurélien Barbier-Accary Guest
|
Posted: Sun Oct 09, 2005 9:43 pm Post subject: [HS] compilation Qt4 open source sous windows xp |
|
|
Bonjour,
Première question, quel forum serait le plus approprié pour ce type de question
? (et donc désolé pour la "pollution")
Deuxième question, la vraie donc:
J'essaye d'installer Qt4.0.1 open source sous winxp avec mingw g++ et après bien
des problèmes ça a bien fonctionné jusqu'à la compilation des libs xml.
J'ai demandé une compilation debug-and-release et si la debug fonctionne, pour
la release j'ai plein de lignes de ce type :
tmpobjrelease_sharedqxml.o(...:qxml.cpp: undefined reference to `...'
Quelqu'un a une suggestion ? Le répertoire qui contient les libs est pourtant
bien indiqué dans la commande de compilation.
Aurélien.
|
|
| Back to top |
|
 |
Aurélien Barbier-Accary Guest
|
Posted: Sun Oct 09, 2005 10:33 pm Post subject: Re: [HS] compilation Qt4 open source sous windows xp |
|
|
je me demande si bêtement quand on écrit
g++ ... -lmachin
sous windows le compilo ne cherche pas machin.so au lieu de machin.dll ?!?
( je "débute" sous windows, c'était plus simple sous linux ! ;-p )
|
|
| Back to top |
|
 |
Aurelien Regat-Barrel Guest
|
Posted: Mon Oct 10, 2005 9:27 am Post subject: Re: [HS] compilation Qt4 open source sous windows xp |
|
|
Aurélien Barbier-Accary a écrit :
| Quote: | je me demande si bêtement quand on écrit
g++ ... -lmachin
sous windows le compilo ne cherche pas machin.so au lieu de machin.dll ?!?
( je "débute" sous windows, c'était plus simple sous linux ! ;-p )
|
Il me semble qu'il cherche libmachin.a. La dll est nécessaire à
l'exécution, pas à la compilation.
--
Aurélien Regat-Barrel
|
|
| Back to top |
|
 |
Matthieu Moy Guest
|
Posted: Mon Oct 10, 2005 9:32 am Post subject: Re: [HS] compilation Qt4 open source sous windows xp |
|
|
Aurelien Regat-Barrel <nospam.aregatba (AT) yahoo (DOT) fr> writes:
| Quote: | Il me semble qu'il cherche libmachin.a. La dll est nécessaire à
l'exécution, pas à la compilation.
|
A la compilation, non. Au link, oui, il en a besoin (ne serait-ce que
pour vérifier que tous les symboles seront là à l'éxécution). Enfin,
en tous cas, c'est le cas sous Linux.
--
Matthieu
|
|
| Back to top |
|
 |
Aurelien Regat-Barrel Guest
|
Posted: Mon Oct 10, 2005 9:39 am Post subject: Re: [HS] compilation Qt4 open source sous windows xp |
|
|
| Quote: | Il me semble qu'il cherche libmachin.a. La dll est nécessaire à
l'exécution, pas à la compilation.
A la compilation, non. Au link, oui, il en a besoin (ne serait-ce que
pour vérifier que tous les symboles seront là à l'éxécution). Enfin,
en tous cas, c'est le cas sous Linux.
|
J'avais la flemme d'écrire édition de liens...
Il utilise le .a (.lib en fait) pour générer le table d'import des
symboles. C'est le loader de Windows qui vérifie que tous les symboles
importés sont bien présents dans la dll au moment de l'exécution.
--
Aurélien Regat-Barrel
|
|
| Back to top |
|
 |
Aurélien Barbier-Accary Guest
|
Posted: Mon Oct 10, 2005 9:55 am Post subject: Re: [HS] compilation Qt4 open source sous windows xp |
|
|
ok, ça me parait plus logique comme ça mais du coup il s'agit donc d'une
mauvaise piste et mon problème reste entier ;-(
En tous cas merci pour vos réponses.
Personne n'a essayé d'installer Qt4 pour windows sur ce forum ?
|
|
| Back to top |
|
 |
fraca7 Guest
|
Posted: Mon Oct 10, 2005 11:55 am Post subject: Re: [HS] compilation Qt4 open source sous windows xp |
|
|
Aurélien Barbier-Accary a écrit :
| Quote: | je me demande si bêtement quand on écrit
g++ ... -lmachin
sous windows le compilo ne cherche pas machin.so au lieu de machin.dll ?!?
( je "débute" sous windows, c'était plus simple sous linux ! ;-p )
|
En fait d'aprés ma propre expérience, les versions récentes de MINGW
linkent de préférence avec le .a s'il est présent, sinon il essaye avec
le .lib mais ça ne fonctionne pas toujours trés bien... Pour convertir
un .lib en .a, il faut récupérer pexports.exe et faire ça:
pexports machin.dll > machin.def
dlltool -l libmachin.a -D machin.dll -d machin.def
HTH
|
|
| Back to top |
|
 |
Aurelien Regat-Barrel Guest
|
Posted: Mon Oct 10, 2005 12:17 pm Post subject: Re: [HS] compilation Qt4 open source sous windows xp |
|
|
| Quote: | Pour convertir
un .lib en .a, il faut récupérer pexports.exe et faire ça:
pexports machin.dll > machin.def
dlltool -l libmachin.a -D machin.dll -d machin.def
|
Là tu génères un .a à partir d'une dll (et non une conversion .lib ->
..a). Les .a sont en fait des .lib au format COFF, le même format que
VC++. Les utilitaires de VC++ (dumpbin...) fonctionnent dessus.
Ca veut aussi dire que tu peux prendre un toto.lib de VC++, le renommer
en libtoto.a et linker avec... en C en tous cas. En C++, avec la
différence de name mangling ça ne passera pas.
--
Aurélien Regat-Barrel
|
|
| Back to top |
|
 |
fraca7 Guest
|
Posted: Mon Oct 10, 2005 2:15 pm Post subject: Re: [HS] compilation Qt4 open source sous windows xp |
|
|
Aurelien Regat-Barrel a écrit :
| Quote: | Pour convertir un .lib en .a, il faut récupérer pexports.exe et faire ça:
pexports machin.dll > machin.def
dlltool -l libmachin.a -D machin.dll -d machin.def
En C++, avec la
différence de name mangling ça ne passera pas.
|
C'est vrai, j'avais oublié :)
|
|
| Back to top |
|
 |
Casillux Guest
|
Posted: Tue Oct 11, 2005 4:47 pm Post subject: Re: [HS] compilation Qt4 open source sous windows xp |
|
|
Aurélien Barbier-Accary wrote:
| Quote: | ok, ça me parait plus logique comme ça mais du coup il s'agit donc d'une
mauvaise piste et mon problème reste entier ;-(
En tous cas merci pour vos réponses.
Personne n'a essayé d'installer Qt4 pour windows sur ce forum ?
|
Ben oui j'ai déjà essayé et ça a marché parfaitement sans aucun
problème. J'avais téléchargé la version qt qui installait aussi mingw++.
Je sais que ça n'aide pas, désolé, juste pour dire que ça peut marcher
tout seul... Peut être en reessayant depuis le début ça passera (en
désinstallant le compilateur+qt et en les réinstallant.
NB : je n'ai compilé qu'en mode release (par défaut), je n'ai pas
compilé en debug...
|
|
| Back to top |
|
 |
Aurélien Barbier-Accary Guest
|
Posted: Tue Oct 11, 2005 8:28 pm Post subject: Re: [HS] compilation Qt4 open source sous windows xp |
|
|
Casillux a écrit :
| Quote: | Ben oui j'ai déjà essayé et ça a marché parfaitement sans aucun
problème. J'avais téléchargé la version qt qui installait aussi mingw++.
Je sais que ça n'aide pas, désolé, juste pour dire que ça peut marcher
tout seul... Peut être en reessayant depuis le début ça passera (en
désinstallant le compilateur+qt et en les réinstallant.
NB : je n'ai compilé qu'en mode release (par défaut), je n'ai pas
compilé en debug...
|
Merci, c'est déjà bien de savoir que ça peut marcher.
Moi 'avais déjà un compilateur installé et tout configuré pour mes besoins donc
je n'ai pas utilisé l'installeur et j'ai préféré la version .zip à compiler soi
même.
Mais j'y arriverai :-)
|
|
| Back to top |
|
 |
Jean-Marc Desperrier Guest
|
Posted: Wed Oct 12, 2005 5:24 pm Post subject: Re: [HS] compilation Qt4 open source sous windows xp |
|
|
Aurelien Regat-Barrel wrote:
| Quote: | Ca veut aussi dire que tu peux prendre un toto.lib de VC++, le renommer
en libtoto.a et linker avec... en C en tous cas. En C++, avec la
différence de name mangling ça ne passera pas.
|
GCC 4 est censé utiliser une version enfin normalisée de cela non ?
Il n'y a pas de mouvement dans ce sens chez Microsoft ?
|
|
| Back to top |
|
 |
Aurélien Barbier-Accary Guest
|
Posted: Wed Oct 19, 2005 7:40 pm Post subject: [résolu] compilation Qt4 open source sous windows xp |
|
|
Alors pour ceux qui auraient eu le même problème, il faut:
- désactiver msys si vous l'avez pour supprimer les problèmes d'échappement
des caractères
- utiliser gcc >= 3.4.2 pour éviter le plantage dans la partir xml
Moi j'ai désinstaller mingw puis réinstaller une nouvelle version et maintenant
ça compile très bien.
Encore merci à tous ceux qui m'ont répondu.
|
|
| Back to top |
|
 |
|