Découpe d'un programme en plusieurs fichiers [C++] - C++ - Programmation
Marsh Posté le 25-11-2003 à 11:17:05
Citation : et je dois compiler le data.cpp avant le main.cpp mais j'utilise en cin dans le data.cpp donc forcément le #include <iostream> n'est pas dans data mais dans main alors j'ajoute ça dans data : |
mouais
heuh tu peux nous montrer ta ligne de commande pour compiler tes fichiers ?
Marsh Posté le 25-11-2003 à 11:21:28
chrisbk a écrit : mouais |
Code :
|
C'est pas bon ?
Marsh Posté le 25-11-2003 à 11:22:57
nan
g++ -c data.cpp
g++ -c main.cpp
g++ -o truc data.o main.o
(enfin la derniere ligne je suis pu sur, ca fait long que g pas fait du gcc)
Marsh Posté le 25-11-2003 à 11:26:33
ça ne change rien, l'erreur est la même !
donc si je laisse le même data.cpp que plus haut (sans iostream) ben le gcc me dit
Code :
|
Marsh Posté le 25-11-2003 à 11:28:24
'g++ -c data.cpp' et t'as "undefined reference to `main'"???
Marsh Posté le 25-11-2003 à 11:28:41
heuh
en haut t'as une erreur de link, la t'as une erreur de compilation
donc dans data.cpp tu inclues ton iostream + le using
les deux erreurs n'ont rien a voir entre elle
Marsh Posté le 25-11-2003 à 11:30:58
moktar1er a écrit : 'g++ -c data.cpp' et t'as "undefined reference to `main'"??? |
Ahhh j'avais pas rajouté
#include <iostream>
using namespace std;
ça à l'air de fonctionner
Marsh Posté le 25-11-2003 à 11:34:05
moktar1er a écrit : 'g++ -c data.cpp' et t'as "undefined reference to `main'"??? |
c'est la que tu sens qu'y a certains concept qui ne sont pas completement compris
Marsh Posté le 25-11-2003 à 11:35:00
je compile data.cpp et main.cpp et j'obtiens data.o main.o mais comment je rassemble le tout ?
'g++ -o truc data.o main.o' ne marche pas.
Marsh Posté le 25-11-2003 à 11:35:30
chrisbk a écrit : |
apprendre à programmer != apprendre les base de la compilation ???
Marsh Posté le 25-11-2003 à 11:37:35
DrVins a écrit : je compile data.cpp et main.cpp et j'obtiens data.o main.o mais comment je rassemble le tout ? |
Marsh Posté le 25-11-2003 à 11:38:27
t'entends quoi exactement pas "ne marche pas"??? t'as quoi comme erreur?
Marsh Posté le 25-11-2003 à 11:38:27
DrVins a écrit : je compile data.cpp et main.cpp et j'obtiens data.o main.o mais comment je rassemble le tout ? |
ouais je sais pu comment on link avec g++
un expert te dira ca
(Mais pitié, a l'avenir, evite les "ca marche aps" et balance le message d'erreur )
Marsh Posté le 25-11-2003 à 11:39:13
ça me fait :
g++: cannot specify -o with -c or -S and multiple compilations
Marsh Posté le 25-11-2003 à 11:40:25
et t'as juste fait "g++ -o main main.o data.o" ??? t'as rien tapé d'autre???
Marsh Posté le 25-11-2003 à 11:41:20
DrVins a écrit : ça me fait : |
Non c'est pas ça je me suis trompé de ligne de commande mais c'est encore pire :
Code :
|
Marsh Posté le 25-11-2003 à 11:42:38
euh ... il ressemble à quoi ton main?
le début surtout ... t'as mis quoi en include dans ton main.cpp?
Marsh Posté le 25-11-2003 à 11:43:49
ReplyMarsh Posté le 25-11-2003 à 11:45:51
Nan c'est bon
En fait, j'avais mis les 3 fichiers en un pour tester si l'algorithme fonctionnait... je l'avais appelé main.cpp et c'est lui que je compilais avec data
Donc, maintenant c'est OK tout fonctionne impec !!!
Merci à tous
Marsh Posté le 25-11-2003 à 11:11:29
Bon voilà, je n'arrive pas à découper mon programme en plusieurs fichiers.
Je dois en avoir 3 :
- main.cpp
- data.h
- data.cpp
donc voilà le fichier data.cpp
et le data.h
et je dois compiler le data.cpp avant le main.cpp mais j'utilise en cin dans le data.cpp donc forcément le #include <iostream> n'est pas dans data mais dans main alors j'ajoute ça dans data :
mais j'ai ce message d'erreur losque je compile data.cpp :
Comment dois-je faire ??!!
Message édité par drvins le 25-11-2003 à 11:13:31