Créer un exécutable _statique_ avec Visual C++ 2010

Le
JKB
Bonjour à tous,

J'essaie de compiler un exécutable statique à fins de tests sur un
2008R2 sur lequel je ne peux pas installer toute une ribambelle de
bibliothèques. Le programme est une application Qt qui fonctionne
parfaitement avec des bibliothèques partagées. Elle se compile avec
un qMakefile.pro et je cherche depuis ce matin comment faire pour
lier statiquement la chose (y compris les bibliothèques C/C++). Je
n'ai strictement rien trouvé dans la doc.

Une idée ?

Cordialement,

JKB

--
Si votre demande me parvient sur carte perforée, je titiouaillerai très
volontiers une réponse
=> http://grincheux.de-charybde-en-scylla.fr
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Serge Paccalin
Le #23131011
Le Wed, 16 Feb 2011 10:35:49 +0000 (UTC), JKB a écrit
(dans  dans fr.comp.lang.c++) :

J'essaie de compiler un exécutable statique à fins de tests sur un
2008R2 sur lequel je ne peux pas installer toute une ribambelle de
bibliothèques. Le programme est une application Qt qui fonctionne
parfaitement avec des bibliothèques partagées. Elle se compile avec
un qMakefile.pro et je cherche depuis ce matin comment faire pour
lier statiquement la chose (y compris les bibliothèques C/C++). Je
n'ai strictement rien trouvé dans la doc.

Une idée ?



Pour les DLL de Qt, c'est à l'installation de Qt que l'on décide de
faire du Qt en DLL ou en statique.

Par exemple :

configure -static -platform win32-msvc2010 […]

Tape :

configure -help
pour en savoir plus.

--
___________
_/ _ _`_`_`_) Serge PACCALIN -- sp ad mailclub.net
_L_) Il faut donc que les hommes commencent
-'(__) par n'être pas fanatiques pour mériter
_/___(_) la tolérance. -- Voltaire, 1763
JKB
Le #23131141
Le Wed, 16 Feb 2011 12:12:23 +0100,
Serge Paccalin
Le Wed, 16 Feb 2011 10:35:49 +0000 (UTC), JKB a écrit
(dans  dans fr.comp.lang.c++) :

J'essaie de compiler un exécutable statique à fins de tests sur un
2008R2 sur lequel je ne peux pas installer toute une ribambelle de
bibliothèques. Le programme est une application Qt qui fonctionne
parfaitement avec des bibliothèques partagées. Elle se compile avec
un qMakefile.pro et je cherche depuis ce matin comment faire pour
lier statiquement la chose (y compris les bibliothèques C/C++). Je
n'ai strictement rien trouvé dans la doc.

Une idée ?



Pour les DLL de Qt, c'est à l'installation de Qt que l'on décide de
faire du Qt en DLL ou en statique.

Par exemple :

configure -static -platform win32-msvc2010 […]

Tape :

configure -help
pour en savoir plus.



Qt est compilé en statique et en dynamique. Le problème est
l'édition des liens qui n'arrive pas à faire une édition totalement
statique.

JKB

--
Si votre demande me parvient sur carte perforée, je titiouaillerai très
volontiers une réponse...
=> http://grincheux.de-charybde-en-scylla.fr
Serge Paccalin
Le #23131211
Le Wed, 16 Feb 2011 12:13:04 +0000 (UTC), JKB a écrit
(dans  dans fr.comp.lang.c++) :

Pour les DLL de Qt, c'est à l'installation de Qt que l'on décide de
faire du Qt en DLL ou en statique.

Par exemple :

configure -static -platform win32-msvc2010 […]

Tape :

configure -help
pour en savoir plus.



Qt est compilé en statique et en dynamique. Le problème est
l'édition des liens qui n'arrive pas à faire une édition totalement
statique.



Il faut deux installations successives de Qt dans deux répertoires
différents pour que ça marche. Et ensuite, spécifier le bon pour
l'édition des liens (avec QTDIR, je pense) ; ne pas oublier que les
variables d'environnement sont créées au lancement d'un process et
héritées du process parent.

--
___________
_/ _ _`_`_`_) Serge PACCALIN -- sp ad mailclub.net
_L_) Il faut donc que les hommes commencent
-'(__) par n'être pas fanatiques pour mériter
_/___(_) la tolérance. -- Voltaire, 1763
Jean-Marc Bourguet
Le #23131251
JKB
Bonjour à tous,

J'essaie de compiler un exécutable statique à fins de tests su r un
2008R2 sur lequel je ne peux pas installer toute une ribambelle de
bibliothèques. Le programme est une application Qt qui fonctionne
parfaitement avec des bibliothèques partagées. Elle se compile avec
un qMakefile.pro et je cherche depuis ce matin comment faire pour
lier statiquement la chose (y compris les bibliothèques C/C++). Je
n'ai strictement rien trouvé dans la doc.

Une idée ?



De memoire -- et de la part de quelqu'un qui n'a jamais fait du
developpement serieusement sous Windows, c'est simplement ce que j'ai
retenu de diverses interventions mentionnant Windows -- les points
d'acces de Windows sont des DLL. Si j'ai raison, un executable
complement dynamique ce n'est purement et simplement pas possible (c'est
-- ou ce sera le cas, on a eu un avertissement de Sun a ce sujet, mais
comme nous ne sommes pas concernes j'ai oublie les details -- aussi sous
Solaris ou libc.a n'est -- ne sera -- plus disponible).

Toujours d'apres ce que j'ai lu, il me semble de lier les lib C et C++
en statique sous Windows, certains ayant des problemes a cause de cela
avec des DLL qui le font (ils se retrouvent avec deux lib C et faire un
free/delete de qqch dont le malloc/new a ete fait avec une autre lib C
est problematique).

A+

--
Jean-Marc
FAQ de fclc++: http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ
C++ FAQ Lite en VF: http://www.ifrance.com/jlecomte/c++...ite/index. html
Site de usenet-fr: http://www.usenet-fr.news.eu.org
JKB
Le #23131241
Le Wed, 16 Feb 2011 13:33:31 +0100,
Jean-Marc Bourguet
JKB
Bonjour à tous,

J'essaie de compiler un exécutable statique à fins de tests sur un
2008R2 sur lequel je ne peux pas installer toute une ribambelle de
bibliothèques. Le programme est une application Qt qui fonctionne
parfaitement avec des bibliothèques partagées. Elle se compile avec
un qMakefile.pro et je cherche depuis ce matin comment faire pour
lier statiquement la chose (y compris les bibliothèques C/C++). Je
n'ai strictement rien trouvé dans la doc.

Une idée ?



De memoire -- et de la part de quelqu'un qui n'a jamais fait du
developpement serieusement sous Windows, c'est simplement ce que j'ai
retenu de diverses interventions mentionnant Windows -- les points
d'acces de Windows sont des DLL. Si j'ai raison, un executable
complement dynamique ce n'est purement et simplement pas possible (c'est
-- ou ce sera le cas, on a eu un avertissement de Sun a ce sujet, mais
comme nous ne sommes pas concernes j'ai oublie les details -- aussi sous
Solaris ou libc.a n'est -- ne sera -- plus disponible).

Toujours d'apres ce que j'ai lu, il me semble de lier les lib C et C++
en statique sous Windows, certains ayant des problemes a cause de cela
avec des DLL qui le font (ils se retrouvent avec deux lib C et faire un
free/delete de qqch dont le malloc/new a ete fait avec une autre lib C
est problematique).



C'est bien ce que je craignais... Pourtant, pour faire un test à
l'arrache, c'est assez pratique...

Cordialement,

JKB

--
Si votre demande me parvient sur carte perforée, je titiouaillerai très
volontiers une réponse...
=> http://grincheux.de-charybde-en-scylla.fr
Jean-Marc Bourguet
Le #23131321
JKB
Le Wed, 16 Feb 2011 13:33:31 +0100,
Jean-Marc Bourguet
Toujours d'apres ce que j'ai lu, il me semble de lier les lib C et C++




Il manque "possible" ^ici
en statique sous Windows, certains ayant des problemes a cause de cela
avec des DLL qui le font (ils se retrouvent avec deux lib C et faire un
free/delete de qqch dont le malloc/new a ete fait avec une autre lib C
est problematique).



C'est bien ce que je craignais... Pourtant, pour faire un test à
l'arrache, c'est assez pratique...



Les problemes dont j'ai connaissance n'ont lieu que quand il y a des DLL
en jeu (aucune idee si les DLL systemes sont capables de les causer).
Tout statique sauf les DLL systemes me semble possible (et les lib C et
C++ ne devrait pas faire partie des DLL systemes). Maintenant, est-ce
que ca vaut la peine de chercher a le faire si c'est complique, ca tu
vois tout seul.

A+


--
Jean-Marc
FAQ de fclc++: http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ
C++ FAQ Lite en VF: http://www.ifrance.com/jlecomte/c++...ite/index. html
Site de usenet-fr: http://www.usenet-fr.news.eu.org
Publicité
Suivre les réponses
Poster une réponse
Anonyme