es qu'on peut compiler un code ecrit sous gcc avec le c++?
Version imprimable
es qu'on peut compiler un code ecrit sous gcc avec le c++?
Bonjour et bienvenu,
Peux-tu détailler ton problème ou expliquer ta question ? J'écris un code avec un éditeur et je le compile avec un compilateur. gcc est selon le contexte soit la suite des compilateurs Gnu, soit le compilateur C de cette suite (g++ pour le compilateur C++ de cette suite).
Salut, et bienvenue sur le forumOui, mais il faut veiller à ce que la partie correspondant à C++ soit installée avec Gcc.
En effet, comme l'a si bien dit 3DArchi, Gcc est une collection de compilateurs (GNU compiler collection), fournissant, outre le compilateur (de base) C, des compilateur pour C++, ada, fortran, objective C, objective C++ et même java.
Chacun de ces compilateur prenant la forme d'un (ou plusieurs) exécutable qui utilise... des bibliothèques propres au langage à compiler.
Lorsque tu utilise "simplement" la commande gcc pour compiler ton code source, elle va appeler le compilateur adapté au langage utilisé :
Mais l'éditeur de liens utilisé (si besoin) par la commande gcc est... ld par défaut, avec ses réglages pour... le langage C
- cc1 pour le C
- g++ pour le C++
- gnatXXX pour ada,
- gjc pour java
- ...
Il est donc préférable d'utiliser directement g++ si tu veux compiler du code C++ car il passera directement les bons paramètres à ld afin de s'assurer qu'il (ld) liera effectivement les bibliothèques propres au C++ avec le programme.
Cependant, tu peux également indiquer clairement à gcc que tu souhaites qu'il "configure" ld pour effectuer la liaison avec les bibliothèques propres au C++ en ajoutant les arguments -L pour indiquer dans quel dossier chercher les bibliothèque et -l (L minuscule) pour indiquer quelle bibliothèque utiliser.
Ainsi, le plus facile pour compiler du code C++ en ligne de commande sera
mais, il est possible de le faire avec la commandeCode:g++ main.cpp
(je considère ici que tout tiens dans main.cpp ;))Code:gcc main.cpp -lstdc++ -lsupc++