Accueil > Forum > > > > GCC 4 sous Windows
GCC 4 sous Windows
samedi 30 janvier 2010 à 01:50:20 |
GCC 4 sous Windows

victorcoasne
|
Bonjour,
J'utilise GCC 3.4.x depuis un moment et je suis dit : pourquoi pas passer à la version 4 ?
J'ai donc téléchargé la version 4.5 en 32 et 64 bits (tant qu'à faire).
J'arrive bien à compiler seulement j'ai des warning de ce type pour un hello world :
Code : warning: auto-importing has been activated without --enable-auto-import specified on the command line.
Info: resolving std::cout by linking to __imp___ZSt4cout (auto-import)
This should work unless it involves constant data structures referencing symbols from auto-imported DLLs.
De plus il me demande des DLL pour lancer un hello world.
Je les ai mais ce n'est pas le problème, avec GCC 3.4.x un hello world ne demande pas de DLL.
Comment faire pour éviter le warning et pour ne pas avoir recours aux DLLs ?
Merci et bonne prog,
@++
Victor
|
|
samedi 30 janvier 2010 à 19:49:49 |
Re : GCC 4 sous Windows

mogwai93
|
La version 4.5 est toujours en cours de dév
donc peut-être un bug/régression
essaye avec la v4.4.3
|
|
samedi 30 janvier 2010 à 21:13:40 |
Re : GCC 4 sous Windows

victorcoasne
|
Bonjour,
Non apparemment le problème est récurent à tous les GCC 4.x, ils demandent des DLL pour les librairies standard C++.
Merci et bonne prog,
@++
Victor
|
|
samedi 30 janvier 2010 à 23:07:28 |
Re : GCC 4 sous Windows

victorcoasne
|
Bonjour,
Je viens d'essayer avec GCC 4.4.1 mais il me demande toujours libgcc_s_sjlj-1.dll
C'est une DLL de moins qu'avec GCC 4.5 mais c'est déjà une de trop.
Merci et bonne prog,
@++
Victor
|
|
samedi 30 janvier 2010 à 23:11:30 |
Re : GCC 4 sous Windows

victorcoasne
|
Réponse acceptée !
Re,
Désolé pour le multi-post mais je ne peux pas éditer mes messages.
Voici donc la solution pour GCC 4.4.1 pour les DLL :
Code :
Mais cela ne fonctionne pas sur la version 4.5 sur la version que je teste.
Merci et bonne prog,
@++
Victor
|
|
lundi 1 février 2010 à 10:18:44 |
Re : GCC 4 sous Windows

CptPingu
|
Merci pour cette solution, je la garde de côté au cas où.
A noter que pour l'instant gcc3 semble encore utilisé (ne serait-ce que par QT: http://doc.trolltech.com/4.6/compiler-notes.html)
_____________________________________________
Historique de mes créations, et quelques articles:
http://0217021.free.fr/portfolio
|
|
lundi 1 février 2010 à 12:52:03 |
Re : GCC 4 sous Windows

victorcoasne
|
Bonjour,
C'est normal que GCC 3 reste utilisé, il ne pond pas des executables à 4Mo pour un hello world avec des try catch.
Le pire c'est que je ne suis même pas arrivé à utiliser UPX.
Pour ceux que ça intéresse voici le code hello world :
Code C/C++ : #include <iostream>
#include <cstdlib>
using namespace std;
int main()
{
try
{
cout << "Hello";
throw 0;
}
catch(...)
{
cout << " world !" << endl;
}
system("pause");
}
Ligne de commande de compilation utilisé avec GCC 4.4.1 :
Code : "32\bin\g++.exe" "hello world.cpp" -mthreads -static-libgcc -ohelloworld32.exe
Code : "64\bin\g++.exe" "hello world.cpp" -mthreads -static-libgcc -ohelloworld64.exe
Taille des executables Windows :
- 32 bits : 3 722 ko
- 64 bits : 4 479 ko
J'ai voulu passer à GCC 4 pour deux raisons :
- Pas besoin d'une DLL pour les exceptions multi-thread
- Support du 64 bits
En attendant que GCC 4 sache faire des executables de taille correcte je reste à GCC 3.4.5 pour compiler des programmes 32 bits.
Merci et bonne prog,
@++
Victor
|
|
lundi 1 février 2010 à 14:15:59 |
Re : GCC 4 sous Windows

CptPingu
|
Est-ce une spécificité Windows ? Je n'ai pas fait la comparaison entre gcc3 et gcc4 sous Unix, mais ton exemple compilé avec g++4.4.1 en 32bits, done:
> g++ hello.cc -static
> ls
1,2M a.out*
Sans le static, on descend même à:
> g++ hello.cc
> ls
9,1K a.out*
Avec le multithreading activé:
> g++ hello.cc -static -pthread
> ls
1,3M a.out*
Sans le static, même taille (logique):
> g++ hello.cc -pthread
> ls
9,1K a.out*
Pour le morceau de code:
- Pas besoin de system pause. Il y a une manière plus portable de le faire.
- return 0; /* Certe pas obligatoire d'après les spécifications du C++, mais bon c'est un peu moche */
- Evite les using namespace. Voir: [ Lien ]
_____________________________________________
Historique de mes créations, et quelques articles:
http://0217021.free.fr/portfolio
|
|
lundi 1 février 2010 à 17:15:58 |
Re : GCC 4 sous Windows

victorcoasne
|
Bonjour,
> Pas besoin de system pause.
Si dans mon cas c'est pour vérifier avec le gestionnaire des tâches que le programme est 32 bits ou 64 bits
> Il y a une manière plus portable de le faire.
Je voulais pas m'embêter à faire des fonctions qui affiche un texte et attend une saisie d'une touche quelqu'elle soit. C'est la manière la plus rapide sous Windows.
> Evite les using namespace.
Ne t'inquiète pas je les utilises à bon escient, mais là c'est un hello world vite fait.
Sans le static avec GCC 4.4.1 :
- 32 bits : 3 704 ko
- 64 bits : 4 481 ko
Sous gcc 4.5 sans le static (avec les avertissements cités plus haut) :
- 32 bits : 42 ko
- 64 bits : 46 ko
Avec static mais avec une dépendance persistante aux DLL :
- 32 bits : 64 ko
- 64 bits : 72 ko
Pour info les DLL de dépendances font respectivement pour GCC 4.5 :
- 32 bits :
- libgcc_s_sjlj-1.dll : 419 ko
- libstdc++-6.dll : 4,95 Mo
- 64 bits :
- libgcc_s_sjlj-1.dll : 486 ko
- libstdc++-6.dll : 5,89 Mo
Essaye en 64 bits de compiler pour voir si ça augmente de beaucoup.
Merci et bonne prog,
@++
Victor
|
|
lundi 1 février 2010 à 18:30:00 |
Re : GCC 4 sous Windows

CptPingu
|
> g++ hello.cc -m64
> ls
15K a.out*
> g++ hello.cc -m64 -pthread
> ls
15K a.out*
> g++ hello.cc -m64 -static
> ls
1,4M a.out*
> g++ hello.cc -m64 -pthread -static
> ls
1,4M a.out*
g++ (Ubuntu 4.4.1-4ubuntu9) 4.4.1
Copyright (C) 2009 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
_____________________________________________
Historique de mes créations, et quelques articles:
http://0217021.free.fr/portfolio
|
|
Cette discussion est classée dans : gcc, auto, warning, hello, world
Répondre à ce message
Sujets en rapport avec ce message
Probleme de programmation C++ [ par zlitus ]
Salut, je ne sait pas programmer en c++ et déssidé d'apprendre.Pour cela j'ai téléchargerDEV-C++ et j'ai essayé de marquer "hello world" avec.Je copi
Regex ! [ par Hades53 ]
Bonjour,j'aimerais faire une fonction en c++ qui permettra de retourner N, le nombre de string dans le texte qui correspondent à l'expression régulièr
HELLO WORLD DEBUTANT [ par sam469 ]
Bonsoir a tous,je voudrait apprendre le c++,mais pour commencer je voudrais faire un programme qui m'affiche dans un label un text via un CommandButto
débutant aimerais pouvoir coder [ par Leko ]
Bonjour,je viens d'installer DEV C++ et j'ai ecrit le code le plus basique qui soit, mais il y a un souci qui vient peut etre de la configuration de c
refresh() de ncurses [ par AsM0DeUz ]
Bonjour !Je viens suis en train de tenter d'utiliser ncurses seulement j'ai deja ma premiere question ... a quoi sert refresh().D'apres le how to (ht
makefile [ par alexandre0094 ]
Bonjour, Je suit en train de tester la programation sur psp j'ai donc suivi un tutorial et installer cygwin et créé deux fichier l'un est le code sour
[OpenCV 1.0] cvLoadImage, ne fonctionne pas [ par thenemesys ]
Bonjour, Je commence à apprendre OpenCV, toutefois, je rencontre déjà un problème lors de l'exécution d'un code très simple. En effet, lorsque je veu
programmation [ par steve25cent ]
j'installe l'environnement CDT(c/c++) sous Eclipse. afin de compiler mon programme il faut installer un compilateur externe que j'ai fait: (http://www
fonction clock() de time.h sur Linux GCC [ par desesperado88 ]
Bonjour tout le monde.J'utlise FEDORA16 et le compilateur gcc. [b]#include #include #include int main( int argc,char * argv[]) { getchar(); prin
Le nouveau GCC et le problème avec iostream.h [ par zaim khelifi ]
Bonjour à tous; Dernièrement, avec le nouveau compilateur GCC 4.3, lorsqu’on compile :[code=cpp] #include int main() { cout<<"Hello Monde\n"; } [/cod
Livres en rapport
|
Derniers Blogs
JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|