C++Talk.NET Forum Index C++Talk.NET
C++ language newsgroups
 
Archives   FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

[HS] compilation Qt4 open source sous windows xp

 
Post new topic   Reply to topic    C++Talk.NET Forum Index -> C++ (French)
View previous topic :: View next topic  
Author Message
Aurélien Barbier-Accary
Guest





PostPosted: Sun Oct 09, 2005 9:43 pm    Post subject: [HS] compilation Qt4 open source sous windows xp Reply with quote



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





PostPosted: Sun Oct 09, 2005 10:33 pm    Post subject: Re: [HS] compilation Qt4 open source sous windows xp Reply with 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 )
Back to top
Aurelien Regat-Barrel
Guest





PostPosted: Mon Oct 10, 2005 9:27 am    Post subject: Re: [HS] compilation Qt4 open source sous windows xp Reply with quote



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





PostPosted: Mon Oct 10, 2005 9:32 am    Post subject: Re: [HS] compilation Qt4 open source sous windows xp Reply with quote

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





PostPosted: Mon Oct 10, 2005 9:39 am    Post subject: Re: [HS] compilation Qt4 open source sous windows xp Reply with quote

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





PostPosted: Mon Oct 10, 2005 9:55 am    Post subject: Re: [HS] compilation Qt4 open source sous windows xp Reply with 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 ?
Back to top
fraca7
Guest





PostPosted: Mon Oct 10, 2005 11:55 am    Post subject: Re: [HS] compilation Qt4 open source sous windows xp Reply with quote

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





PostPosted: Mon Oct 10, 2005 12:17 pm    Post subject: Re: [HS] compilation Qt4 open source sous windows xp Reply with quote

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





PostPosted: Mon Oct 10, 2005 2:15 pm    Post subject: Re: [HS] compilation Qt4 open source sous windows xp Reply with quote

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





PostPosted: Tue Oct 11, 2005 4:47 pm    Post subject: Re: [HS] compilation Qt4 open source sous windows xp Reply with quote

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





PostPosted: Tue Oct 11, 2005 8:28 pm    Post subject: Re: [HS] compilation Qt4 open source sous windows xp Reply with quote

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





PostPosted: Wed Oct 12, 2005 5:24 pm    Post subject: Re: [HS] compilation Qt4 open source sous windows xp Reply with quote

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





PostPosted: Wed Oct 19, 2005 7:40 pm    Post subject: [résolu] compilation Qt4 open source sous windows xp Reply with quote

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
Display posts from previous:   
Post new topic   Reply to topic    C++Talk.NET Forum Index -> C++ (French) All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2006 phpBB Group
SEO toolkit © 2004-2006 webmedic.