Je suis nouvelle avec Linux et gcc. En fait j'utilise Fedora et les
différents compilateurs ont été installés. Mon but ultime est de compiler
du C++ sous Linux.
Par contre, je suis incapable de compiler, j'ai toutes sortes d'erreurs.
Selon moi, il ne trouve pas les différentes librairies et moi non plus de
toutes facons !
Est-ce que quelqu'un pourrait me refiler un bon document sur le sujet ?
[*] en fait, c'est un abus de langage, car la principale différence entre les deux se passe au moment du link.
Et la traduction en français de "library" est "bibliothèque".
-- ;-)
drkm
Fabien LE LEZ writes:
Le compilateur[*] C++ s'invoque par g++, pas gcc.
[*] en fait, c'est un abus de langage, car la principale différence entre les deux se passe au moment du link.
Mais les front-ends sont différents, non ? Le compilo C, c'est pas cc1, et C++ cc1plus ? J'aurais dit que la phase d'édition de lien était même plutôt assez semblable (mis à part les bibliothèque standards cherchées).
--drkm
Fabien LE LEZ <gramster@gramster.com> writes:
Le compilateur[*] C++ s'invoque par g++, pas gcc.
[*] en fait, c'est un abus de langage, car la principale différence
entre les deux se passe au moment du link.
Mais les front-ends sont différents, non ? Le compilo C, c'est pas
cc1, et C++ cc1plus ? J'aurais dit que la phase d'édition de lien
était même plutôt assez semblable (mis à part les bibliothèque
standards cherchées).
[*] en fait, c'est un abus de langage, car la principale différence entre les deux se passe au moment du link.
Mais les front-ends sont différents, non ? Le compilo C, c'est pas cc1, et C++ cc1plus ? J'aurais dit que la phase d'édition de lien était même plutôt assez semblable (mis à part les bibliothèque standards cherchées).
--drkm
Fabien LE LEZ
On Thu, 06 Jan 2005 23:38:47 +0100, drkm :
Mais les front-ends sont différents, non ? Le compilo C, c'est pas cc1, et C++ cc1plus ?
Euh... sais pas. Même s'il ne s'agit que de compiler (i.e. .cpp -> .o), j'utilise g++ -c sans me poser de question.
Au fait, t'es sûr que le terme "front-end" est adapté ici ?
-- ;-)
On Thu, 06 Jan 2005 23:38:47 +0100, drkm <usenet.fclcxx@fgeorges.org>:
Mais les front-ends sont différents, non ? Le compilo C, c'est pas
cc1, et C++ cc1plus ?
Euh... sais pas. Même s'il ne s'agit que de compiler (i.e. .cpp ->
.o), j'utilise g++ -c sans me poser de question.
Au fait, t'es sûr que le terme "front-end" est adapté ici ?
Mais les front-ends sont différents, non ? Le compilo C, c'est pas cc1, et C++ cc1plus ?
Euh... sais pas. Même s'il ne s'agit que de compiler (i.e. .cpp -> .o), j'utilise g++ -c sans me poser de question.
Au fait, t'es sûr que le terme "front-end" est adapté ici ?
-- ;-)
Gabriel Dos Reis
drkm writes:
| Fabien LE LEZ writes: | | > Le compilateur[*] C++ s'invoque par g++, pas gcc. | | > [*] en fait, c'est un abus de langage, car la principale différence | > entre les deux se passe au moment du link. | | Mais les front-ends sont différents, non ?
Oui, mais si je lis bien Fabien il ne parle pas de front-ends ; il parle des compilateurs.
| Le compilo C, c'est pas | cc1, et C++ cc1plus ? J'aurais dit que la phase d'édition de lien | était même plutôt assez semblable (mis à part les bibliothèque | standards cherchées). | | --drkm
-- Gabriel Dos Reis
drkm <usenet.fclcxx@fgeorges.org> writes:
| Fabien LE LEZ <gramster@gramster.com> writes:
|
| > Le compilateur[*] C++ s'invoque par g++, pas gcc.
|
| > [*] en fait, c'est un abus de langage, car la principale différence
| > entre les deux se passe au moment du link.
|
| Mais les front-ends sont différents, non ?
Oui, mais si je lis bien Fabien il ne parle pas de front-ends ; il
parle des compilateurs.
| Le compilo C, c'est pas
| cc1, et C++ cc1plus ? J'aurais dit que la phase d'édition de lien
| était même plutôt assez semblable (mis à part les bibliothèque
| standards cherchées).
|
| --drkm
| Fabien LE LEZ writes: | | > Le compilateur[*] C++ s'invoque par g++, pas gcc. | | > [*] en fait, c'est un abus de langage, car la principale différence | > entre les deux se passe au moment du link. | | Mais les front-ends sont différents, non ?
Oui, mais si je lis bien Fabien il ne parle pas de front-ends ; il parle des compilateurs.
| Le compilo C, c'est pas | cc1, et C++ cc1plus ? J'aurais dit que la phase d'édition de lien | était même plutôt assez semblable (mis à part les bibliothèque | standards cherchées). | | --drkm
-- Gabriel Dos Reis
Gabriel Dos Reis
Fabien LE LEZ writes:
| On Thu, 06 Jan 2005 23:38:47 +0100, drkm : | | >Mais les front-ends sont différents, non ? Le compilo C, c'est pas | >cc1, et C++ cc1plus ? | | Euh... sais pas. Même s'il ne s'agit que de compiler (i.e. .cpp -> | .o), j'utilise g++ -c sans me poser de question. | | Au fait, t'es sûr que le terme "front-end" est adapté ici ?
Tu dirais quoi toi ?
-- Gaby
Fabien LE LEZ <gramster@gramster.com> writes:
| On Thu, 06 Jan 2005 23:38:47 +0100, drkm <usenet.fclcxx@fgeorges.org>:
|
| >Mais les front-ends sont différents, non ? Le compilo C, c'est pas
| >cc1, et C++ cc1plus ?
|
| Euh... sais pas. Même s'il ne s'agit que de compiler (i.e. .cpp ->
| .o), j'utilise g++ -c sans me poser de question.
|
| Au fait, t'es sûr que le terme "front-end" est adapté ici ?
| On Thu, 06 Jan 2005 23:38:47 +0100, drkm : | | >Mais les front-ends sont différents, non ? Le compilo C, c'est pas | >cc1, et C++ cc1plus ? | | Euh... sais pas. Même s'il ne s'agit que de compiler (i.e. .cpp -> | .o), j'utilise g++ -c sans me poser de question. | | Au fait, t'es sûr que le terme "front-end" est adapté ici ?
Tu dirais quoi toi ?
-- Gaby
Fabien LE LEZ
On 07 Jan 2005 02:02:23 +0100, Gabriel Dos Reis :
| Au fait, t'es sûr que le terme "front-end" est adapté ici ?
Tu dirais quoi toi ?
Si j'ai tout bien compris, cc1plus est le compilo appelé par g++[*] ; g++ serait donc le front-end, et cc1plus le back-end. Mais je peux me tromper.
[*] en fait, toujours si j'ai bien compris, par défaut gcc et g++ appellent le compilo C++ pour compiler les .cpp, et le compilo C pour compiler les .c ; g++ linke avec les bibliothèques C++, pas gcc.
-- ;-)
On 07 Jan 2005 02:02:23 +0100, Gabriel Dos Reis
<gdr@integrable-solutions.net>:
| Au fait, t'es sûr que le terme "front-end" est adapté ici ?
Tu dirais quoi toi ?
Si j'ai tout bien compris, cc1plus est le compilo appelé par g++[*] ;
g++ serait donc le front-end, et cc1plus le back-end. Mais je peux me
tromper.
[*] en fait, toujours si j'ai bien compris, par défaut gcc et g++
appellent le compilo C++ pour compiler les .cpp, et le compilo C pour
compiler les .c ; g++ linke avec les bibliothèques C++, pas gcc.
| Au fait, t'es sûr que le terme "front-end" est adapté ici ?
Tu dirais quoi toi ?
Si j'ai tout bien compris, cc1plus est le compilo appelé par g++[*] ; g++ serait donc le front-end, et cc1plus le back-end. Mais je peux me tromper.
[*] en fait, toujours si j'ai bien compris, par défaut gcc et g++ appellent le compilo C++ pour compiler les .cpp, et le compilo C pour compiler les .c ; g++ linke avec les bibliothèques C++, pas gcc.
-- ;-)
Gabriel Dos Reis
Fabien LE LEZ writes:
| On 07 Jan 2005 02:02:23 +0100, Gabriel Dos Reis | : | | >| Au fait, t'es sûr que le terme "front-end" est adapté ici ? | > | >Tu dirais quoi toi ? | | Si j'ai tout bien compris, cc1plus est le compilo appelé par g++[*] ;
en fait, cc1plus est juste le front-end appelé par g++.
| g++ serait donc le front-end, et cc1plus le back-end. Mais je peux me | tromper.
euh, le back-end est quelque chose de différent. Dans le cas de GCC, il est commun à tous les compilos qu'on trouve GCC (GNU Compiler Collection). En fait, c'est un peu plus compliqué (parce que le backend est en fait inclus dans les front-ends ;-))
De fait, g++ est juste un « driver » -- tu peux invoquer le compilateur C avec g++, il suffit juste de dire
g++ -x c monfichier.c
le résultat risque de ne pas te plaire, suivant ce que tu as mis dans monfichier.c :-)
| [*] en fait, toujours si j'ai bien compris, par défaut gcc et g++ | appellent le compilo C++ pour compiler les .cpp, et le compilo C pour | compiler les .c ; g++ linke avec les bibliothèques C++, pas gcc.
grosso modo, oui.
-- Gaby
Fabien LE LEZ <gramster@gramster.com> writes:
| On 07 Jan 2005 02:02:23 +0100, Gabriel Dos Reis
| <gdr@integrable-solutions.net>:
|
| >| Au fait, t'es sûr que le terme "front-end" est adapté ici ?
| >
| >Tu dirais quoi toi ?
|
| Si j'ai tout bien compris, cc1plus est le compilo appelé par g++[*] ;
en fait, cc1plus est juste le front-end appelé par g++.
| g++ serait donc le front-end, et cc1plus le back-end. Mais je peux me
| tromper.
euh, le back-end est quelque chose de différent.
Dans le cas de GCC, il est commun à tous les compilos qu'on trouve GCC
(GNU Compiler Collection). En fait, c'est un peu plus compliqué
(parce que le backend est en fait inclus dans les front-ends ;-))
De fait, g++ est juste un « driver » -- tu peux invoquer le
compilateur C avec g++, il suffit juste de dire
g++ -x c monfichier.c
le résultat risque de ne pas te plaire, suivant ce que tu as mis dans
monfichier.c :-)
| [*] en fait, toujours si j'ai bien compris, par défaut gcc et g++
| appellent le compilo C++ pour compiler les .cpp, et le compilo C pour
| compiler les .c ; g++ linke avec les bibliothèques C++, pas gcc.
| On 07 Jan 2005 02:02:23 +0100, Gabriel Dos Reis | : | | >| Au fait, t'es sûr que le terme "front-end" est adapté ici ? | > | >Tu dirais quoi toi ? | | Si j'ai tout bien compris, cc1plus est le compilo appelé par g++[*] ;
en fait, cc1plus est juste le front-end appelé par g++.
| g++ serait donc le front-end, et cc1plus le back-end. Mais je peux me | tromper.
euh, le back-end est quelque chose de différent. Dans le cas de GCC, il est commun à tous les compilos qu'on trouve GCC (GNU Compiler Collection). En fait, c'est un peu plus compliqué (parce que le backend est en fait inclus dans les front-ends ;-))
De fait, g++ est juste un « driver » -- tu peux invoquer le compilateur C avec g++, il suffit juste de dire
g++ -x c monfichier.c
le résultat risque de ne pas te plaire, suivant ce que tu as mis dans monfichier.c :-)
| [*] en fait, toujours si j'ai bien compris, par défaut gcc et g++ | appellent le compilo C++ pour compiler les .cpp, et le compilo C pour | compiler les .c ; g++ linke avec les bibliothèques C++, pas gcc.
grosso modo, oui.
-- Gaby
drkm
Gabriel Dos Reis writes:
drkm writes:
| Mais les front-ends sont différents, non ?
Oui, mais si je lis bien Fabien il ne parle pas de front-ends ; il parle des compilateurs.
En effet. J'ai cru qu'il parlais de la chaîne avant l'édition de liens. En fait, en lisant ton message, je me rend compte que je ne suis pas sûr de la terminologie.
Le driver (gcc, g++, etc.) conduit le tout. Le front-end analyse le langage et construit un « Tree ». Le back-end le transforme en langage d'assemblage (je pense que c'est également ici qu'a lieu la phase d'optimisation, sur le Tree). C'est ceci que l'on appelle le compilateur ? En fait, j'aurais plutôt dit qu'il s'agissait du couple front-end/back-end (du langage source jusqu'au langage d'assemblage).
Puis l'assembleur et enfin l'éditeur de liens font leur office. Il y a aussi CPP, bien sûr, que je n'ai pas mentionné.
Ça me fait combien, sur 20 ?
--drkm
Gabriel Dos Reis <gdr@integrable-solutions.net> writes:
drkm <usenet.fclcxx@fgeorges.org> writes:
| Mais les front-ends sont différents, non ?
Oui, mais si je lis bien Fabien il ne parle pas de front-ends ; il
parle des compilateurs.
En effet. J'ai cru qu'il parlais de la chaîne avant l'édition de
liens. En fait, en lisant ton message, je me rend compte que je ne
suis pas sûr de la terminologie.
Le driver (gcc, g++, etc.) conduit le tout. Le front-end analyse le
langage et construit un « Tree ». Le back-end le transforme en
langage d'assemblage (je pense que c'est également ici qu'a lieu la
phase d'optimisation, sur le Tree). C'est ceci que l'on appelle le
compilateur ? En fait, j'aurais plutôt dit qu'il s'agissait du couple
front-end/back-end (du langage source jusqu'au langage d'assemblage).
Puis l'assembleur et enfin l'éditeur de liens font leur office. Il
y a aussi CPP, bien sûr, que je n'ai pas mentionné.
Oui, mais si je lis bien Fabien il ne parle pas de front-ends ; il parle des compilateurs.
En effet. J'ai cru qu'il parlais de la chaîne avant l'édition de liens. En fait, en lisant ton message, je me rend compte que je ne suis pas sûr de la terminologie.
Le driver (gcc, g++, etc.) conduit le tout. Le front-end analyse le langage et construit un « Tree ». Le back-end le transforme en langage d'assemblage (je pense que c'est également ici qu'a lieu la phase d'optimisation, sur le Tree). C'est ceci que l'on appelle le compilateur ? En fait, j'aurais plutôt dit qu'il s'agissait du couple front-end/back-end (du langage source jusqu'au langage d'assemblage).
Puis l'assembleur et enfin l'éditeur de liens font leur office. Il y a aussi CPP, bien sûr, que je n'ai pas mentionné.
Ça me fait combien, sur 20 ?
--drkm
Fabien LE LEZ
On 07 Jan 2005 03:04:26 +0100, Gabriel Dos Reis :
[snip les explications]
Il est encore temps de décider de bonnes résolutions ? En 3005, je promets de ne plus ouvrir ma gueule quand je n'ai aucune idée du problème ~_~ En attendant, je retourne à mon clicodrome borlandien...
-- ;-)
On 07 Jan 2005 03:04:26 +0100, Gabriel Dos Reis
<gdr@integrable-solutions.net>:
[snip les explications]
Il est encore temps de décider de bonnes résolutions ? En 3005, je
promets de ne plus ouvrir ma gueule quand je n'ai aucune idée du
problème ~_~
En attendant, je retourne à mon clicodrome borlandien...
Il est encore temps de décider de bonnes résolutions ? En 3005, je promets de ne plus ouvrir ma gueule quand je n'ai aucune idée du problème ~_~ En attendant, je retourne à mon clicodrome borlandien...
-- ;-)
Matthieu Moy
Fabien LE LEZ writes:
Si j'ai tout bien compris, cc1plus est le compilo appelé par g++[*] ; g++ serait donc le front-end, et cc1plus le back-end. Mais je peux me tromper.
Tu parles de front-end/back-end au sens wrapper/celui qui fait le boulot. En compilation, la terminologie habituelle, c'est front-end analyse du code source, back-end = generation de code.
C'est chiant ces mots qui ont un sens different selon le contexte ! ;-)
-- Matthieu
Fabien LE LEZ <gramster@gramster.com> writes:
Si j'ai tout bien compris, cc1plus est le compilo appelé par g++[*] ;
g++ serait donc le front-end, et cc1plus le back-end. Mais je peux me
tromper.
Tu parles de front-end/back-end au sens wrapper/celui qui fait le
boulot. En compilation, la terminologie habituelle, c'est front-end analyse du code source, back-end = generation de code.
C'est chiant ces mots qui ont un sens different selon le
contexte ! ;-)
Si j'ai tout bien compris, cc1plus est le compilo appelé par g++[*] ; g++ serait donc le front-end, et cc1plus le back-end. Mais je peux me tromper.
Tu parles de front-end/back-end au sens wrapper/celui qui fait le boulot. En compilation, la terminologie habituelle, c'est front-end analyse du code source, back-end = generation de code.
C'est chiant ces mots qui ont un sens different selon le contexte ! ;-)