Pages : 1
#1 Le 06/11/2013, à 12:40
- tienou2
Compiler avec GCC
Bonjour à tous,
Alors ça ne fait pas longtemps que je fais de la programmation, je voudrais compiler un petit programme en C avec gcc.
Je lance donc la commande suivante dans le terminal:
gcc -o sousech_test -c tmp/sousech/sousech.c
Et là il me dit :
tmp/sousech/sousech.c:28:19: erreur fatale: sstream : Aucun fichier ou dossier de ce type
Je ne comprends pas qu'il ne reconnaisse pas la librairie sstream alors qu'il reconnait les autres...
Voici le code :
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
#include <stdio.h>
#include <stdlib.h>
#include <sstream>
#include <iostream>
#include <fcntl.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <string.h>
#include <map>
#include <vector>
#include <utility>
int max_level=10;
int res[12]={0,1,2,4,8,20,40,100,125,250,500,1000};
int depth=4;
std::string filename(std::string basedir, int x, int y, int level, int type)
//type 1 : MNT, type 2 : SRC, type 3 : DST
{
std::string filename=basedir;
std::ostringstream ssx,ssy,ssl;
for (int i=0;i<depth;i++){
ssx<<"0";
ssy<<"0";
}
ssx<<x;
etc...
Une idée? Merci d'avance.
Hors ligne
#2 Le 06/11/2013, à 13:13
- Compte anonymisé
Re : Compiler avec GCC
Salut
Ne devrais-tu pas renommer ton fichier sources :
tmp/sousech/sousech.cpp au lieu de tmp/sousech/sousech.c
@+
#3 Le 06/11/2013, à 13:31
- claudius01
Re : Compiler avec GCC
Bonjour,
Je ne comprends pas qu'il ne reconnaisse pas la librairie sstream alors qu'il reconnait les autres...
Tout d'abord, ce n'est pas encore une librairie que gcc (g++ serait d'ailleurs plus adapté) ne trouve pas mais le fichier header 'sstream'.
Peux-tu lancer la commande suivante et retourner le résultat :
$ find /usr/include -name "*stream"
...
/usr/include/c++/4.6/istream
/usr/include/c++/4.6/sstream
/usr/include/c++/4.6/ostream
/usr/include/c++/4.6/iostream
/usr/include/c++/4.6/backward/strstream
/usr/include/c++/4.6/fstream
...
Cordialement, A+
--
Claudius
Hors ligne
#4 Le 06/11/2013, à 15:11
- tienou2
Re : Compiler avec GCC
Ok effectivement c'est du c++ et non du c!
En renommant mon fichier en .cpp ça compile.
Par contre quand je veux lancer en ligne de commande l'exécutable généré (sousech_test), il me dit "commande introuvable".
Je sais que c'est idiot mais comment faire? Il faut lui mettre une extension? (comme .app)
Hors ligne
#5 Le 06/11/2013, à 15:15
- Epehj
Re : Compiler avec GCC
Salut,
Il faut te placer dans le dossier de compilation, et indiquer le chemin de l'executable : ./sousech_test
Si tu ne mets pas ./, alors le shell va chercher ta commande dans le Path, et ne la trouvera pas…
Linux user #447629 - Ubuntu user # 21770
C'est en sciant que Léonard devint scie
Hors ligne
#6 Le 06/11/2013, à 15:15
- Compte anonymisé
Re : Compiler avec GCC
Déjà lui donner les droits d'exécution :
chmod a+x sousech_test
Puis faire un :
./sousech_test
#7 Le 06/11/2013, à 16:09
- tienou2
Re : Compiler avec GCC
ok effectivement il y avait aussi des problèmes avec les droits, c'est bon!
Mais maintenant il me met:
-bash: ./sousech_test : fichier binaire impossible à lancer
...ça veut dire que ce n'est pas possible de le lancer en terminal?
(désolé d'être relou, merci à vous;))
Hors ligne
#8 Le 06/11/2013, à 16:16
- Compte anonymisé
Re : Compiler avec GCC
gcc -o sousech_test -c tmp/sousech/sousech.cpp
va simplement compiler donc ne va pas créer un exécutable.
Il faudrait essayer :
gcc -o sousech_test tmp/sousech/sousech.cpp
Pages : 1