Commande de compilation

Fermé
info - 10 mars 2010 à 13:58
 info - 10 mars 2010 à 14:44
Salut, j'ai besoin une commande pour faire la compilation d'un programme c et openMP et openMPI sous ubuntu et merci d'avance.
A voir également:

2 réponses

Utilisateur anonyme
10 mars 2010 à 14:05
Bonjour.
Il existe plusieurs commandes pour compiler un fichier c sous Linux :
gcc (compiler un fichier c)
g++ (compiler un fichier c++)
make (compiler un fichier à partir d'un makefile)

Toutes ces commandes font parti (sous Ubuntu) du paquet build-essential.
0
désolé mais mon programme en c qui utilise openMP et openMPI.
0
mamiemando Messages postés 33076 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 17 avril 2024 7 748 > info
10 mars 2010 à 14:12
Dans ce cas là c'est bien gcc qu'il faut utiliser. Merci de poster au bas du fil de discussion.
0
info > mamiemando Messages postés 33076 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 17 avril 2024
10 mars 2010 à 14:44
merci en tt cas je trouve la solution " mpicc -fopenmp -o fichiere xecuteble fichier.c " et le gcc ne marche pas ds ce cas.
0
mamiemando Messages postés 33076 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 17 avril 2024 7 748
10 mars 2010 à 14:10
A priori tu codes en C/C++ ca consiste à compiler avec gcc/g++ en passant des options.

Pour chaque fichier .c "module" :
- l'option -I ou -isystem : pour préciser où trouver les headers MPI (s'ils ne sont pas dans /usr/include),
- l'option -c pour préciser qu'on compile un module (.o),
- les options -W -Wall et éventuellement -pedantic -ansi si tu es rigoureux.

Pour produire le binaire final (l'exécutable ou la librairie) :
- l'option -l (si tu linkes dynamiquement avec la librairie MPI (.so)),
- l'option -L si tu linkes statiquement avec la librairie MPI (.a),
- l'option -Wl,R pour préciser ou trouver un .so s'il n'est pas dans /usr/lib ou /lib,
- l'option -o pour préciser le nom du binaire produit.

Idéalement si tu travailles sur un gros projet, tu as intérêt à regarder du côté des makefile.

Bonne chance
0