Commande de compilation

info -  
 info -
Salut, j'ai besoin une commande pour faire la compilation d'un programme c et openMP et openMPI sous ubuntu et merci d'avance.
Configuration: Linux / Firefox 3.5.7

2 réponses

  1. Utilisateur anonyme
     
    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
    1. info
       
      désolé mais mon programme en c qui utilise openMP et openMPI.
      0
      1. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 943 > info
         
        Dans ce cas là c'est bien gcc qu'il faut utiliser. Merci de poster au bas du fil de discussion.
        0
      2. info > mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention  
         
        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
  2. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 943
     
    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