Prog en C++ besoin de petite fonction de base

kmakma

Membre enregistré
3 Décembre 2003
6
0
bonjour à tous !!!

Je fais de la programmation C++ avec Xcode et à l'école j'utilise borlande ...

j 'ai 2 questions...

1er : mon prof ma donner un module composer d'un fichier .h et d'un fichier .o compiler par un autre mac. Question comment je fais pour l'intégrer à mon projet pour qu' il soit utiliser lors de la compilation ???

2e : Quel est la commande qui me permet d'effacer ce qui s'affiche à l'écran car j'ai essayer de faire system ( clear ) en intégrant la librairie stdlib et ... ça passe pas !!! help Me !!!

merci à tous et bonne journée
 
Ok ce n'est pas très simple :

un fichier .o est un fichier objet (donc déja compilé).

Admettons que ce fichier s'appelle : toto.o
Le nom du fichier header : toto.h

Pour que cela marche :
0° tu vas dans ton compte à la racine et tu créé un dossier (MonPROG par exemple)

1° Tu mets ton fichier dedans avec par exemple le code suivant :
#include <stdlib.h>
#include <stdio.h>
#include "toto.h" /* j'utilise le header toto */

int main (int argc,char *argv [])
{
printf ("Coucou\n");
}

Appelons ce fichier : main.c

2° tu mets toto.o et toto.h dans MonProg aussi

3° Tu vas dans une fenêtre terminale (sous un shell)

4° On va compiler main.c et le linker avec toto.o

5° Tu mets en lignes de commande:
cc -c main.c

6° Tu devrais voir, en faisant un ls :
main.c
main.o (comme par hasard)
toto.h
toto.o

7° Il faut ecore lier tout ce bazarre:
cc -o resultat main.o toto.o

8° Ton programme s'appelera resultat

9° comment le lancer ? Tu mets dans ta fenêtre terminal :
./resultat

Pour effacer l'écran :

il faut mettre : system ("clear");

Tu dois mettre des guillemets.

Ouf

Philippe.
 
Il faudrait que tu te documentes sur Unix et surtout sur le C de base.

Prend un Kernigham et Ritchie (avant de passer au C++)

Philippe.
 
On peut aller encore plus vite.

Dans le même dossier monProg:

Tu mets un nouveau fichier que tu appelleras : makefile (le nom est très important)

dans ce fichier tu mets :

resultat: main.o toto.o titi.o
cc -o resultat main.o toto.o

main.o:
cc -c main.c

titi.o:
cc -c titi.c

titi.c est un fichier sup.

Il faut impérativement mettre des tabulations devant les cc.

pour lancer la compilation, tu retournes sous le terminal et tu tappes :

make

la commande make va automatiquement voir si des fichiers sont modifiés et ne compiler que ce qu'il faut.

Voilà pour un cours complet sur la compilation en ligne de commande.

Il est possible de linker des bibliothèques exemple x11. Mais ceci est une autre histoire.




Philippe. ;)
 
j'ai rien contre les lignes de commande mais y aurai pas un moyen de faire directement les liens avec Xcode (comme dans Visual Studio C++).

et pour le "clear" avec Xcode passe pas !!!

désolé
 
En fait j'ai regardé un projet Xcode.

Les fichiers objets définis sont de la forme :

toto.ob

Je n'ai pas réussi à les faire tourner. J'ai créé un fichier toto.c et toto.h j'ai compilé et je n'ai récupéré que toto.o et toto.h.

Avec la première méthode : pas de problème.

Avec Xcode : impossible.


Philippe.
 
voici un dernier fichier : makefile

resultat: main.o toto.o
cc -o resultat main.o toto.o
main.o: main.c
cc -c main.c

toto.o: toto.c
cc -c toto.c

il est un peu plus efficace :

si main.c modifié => recompilation etc...

Pour ton cas enlève les lignes :
toto.o: toto.c
cc -c toto.c

tout devrais marcher.


Philippe.
 
donc dans tos les cas je dois passer par les de commande ....

ben ca jette a sacrée froid pour faire de la prog avec Xcode...

Mais merci a toi Phil ;-)
 
Bonjour,

kmakma, au lieu de te donner un .h et un .o, tom prof aurait mieux fait de generer une lib dynamique, voir mieux pour OS_X un framework !
Il n'y a aucun probleme pour integrer ces objets a un projet XCode.
 
mais si il aurait fait ca il aurai plus un de plaisir a me faire cherche des infos par moi meme pour intégrer mes modules...


;-)

PS c'est dur des fois de travailler avec des Windosiens ;-p
 
PS c'est dur des fois de travailler avec des Windosiens ;-p

Je n'aime pas du tout ce que tu me mets la.

Ton .o est issu d'un PC ????

Ne jamais oublier que le .o est un fichier déjà compilé.

Si il est compilé windaube je ne pense pas que tu puisses le réutiliser sur mac.

Il te faut donc le .c ou le .cp originale et suivre les directives cité ci-dessus.
Dans ce cas tu peux utiliser Xcode.

Le compilateur ne génère pas le même code selon le processeur utilisé.

C'est à tester.

Philippe.
 
J'ai relu ton premier post et je vois qu'il a été compilé par un mac.

Normalement tu ne devrais pas avoir de problème.
Demandes quand même à ton prof en quel version il a été compilé.

gcc 2.x ou gcc 3.3 etc ...

C'est assez important sinon tu dois installer le compilo adéquat il se trouve sur ton CD Xcode.
Tu verras, tu as la possibilité d'installer différent compilateur.

J'espère que cela pourras t'aider. De toute manière tu verras au moment du link si il y a des pbs.
Tiens moi au courant.

A+

Philippe.