Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 03/05/2010, à 12:41

katian

Bien structurer un projet c++

Bonjour,

Je fais du développement c++ en amateur.

J'aimerai bien faire les choses et je cherche des infos sur comment structurer un projet. J'aimerai aussi bien comprendre "configure" et "make".

P.S : Je souhaite utiliser vim et laisser tomber Code::Blocks

Pourriez-vous me conseiller ?

merci !

Hors ligne

#2 Le 03/05/2010, à 13:30

helly

Re : Bien structurer un projet c++

Pour faire simple , "configure" prend en compte les paramètres de ta machine pour vérifier si toutes les dépendances sont présentes , puis créé un Makefile adéquate ,
"make" execute simplement le fichier Makefile .
Je n'ai jamais créé de fichier config mais déjà quelques Makfiles , ça peut en effet être interessant pour automatiser la compilation du gros projets avec beaucoup de lib smile
Donc pour les makefiles y'a des bons tutos sur le web , assez facilement trouvables wink

Que te demandes tu à propos de la structure des projets ? j'ai du mal à comprendre la question  ^^'

ET pour la dernière question , je tourne avec vim et en effet y'a rien de mieux tongue (argument subjectif),deplus il me semble avoir entendu dire que code::blocks créé des projets qui ne respectent pas les standars , donc vaut mieux éviter


Archlinux-wmii-dwb.
Un problème résolu ? Faites le savoir en mettant [résolu] à côté du titre de votre topic.
Un problème non résolu ? Faites le savoir en insultant ceux qui cherchent à vous aider.
Un site bleu super remasterised©, un wiki cherchant des volontaires pour traduire un site.

Hors ligne

#3 Le 03/05/2010, à 13:57

Le Farfadet Spatial

Re : Bien structurer un projet c++

Salut à tous !

[Troll]

helly a écrit :

je tourne avec vim et en effet y'a rien de mieux

C'est faux, Emacs est bien meilleur !
[/Troll]


il me semble avoir entendu dire que code::blocks créé des projets qui ne respectent pas les standars

Là, je suis prêt à reconnaitre que, au moins dans ce fil de discussion, c'est moi qui ai commencé !

   Cela dit, je vais essayer de donner un peu plus d'éléments à Katian.

   Difficile de dire dans l'absolu comment bien structurer un projet C++, cela dépend du projet. Bien structurer un projet demande de l'expérience, donc il faut en réaliser plusieurs. Ce que l'on peut dire, c'est qu'il est préférable que l'organisation des fichiers et des répertoires reflètent la structure interne du projet.

   Dans un premier temps (tu feras évoluer l'organisation ensuite), tu peux découper ton répertoire en plusieurs sous-répertoires :

      -- « src » pour stocker les sources ;

      -- « build » pour stocker les objets et exécutables finaux ;

      -- « dbg » pour la version de déboguage ;

      -- « doc » pour les documents.

   Concernant les autotools, qui permettent de réaliser la séquence « ./configure », « make », puis « sudo make install », il existe un livre à leur sujet.

   Toutefois, les autotools sont compliqués et ne fonctionnent pas sur toutes les plateformes -- typiquement, pas sur Windows, enfin pas de manière immédiate. Il existe désormais des utilitaires à la fois plus puissants, plus simples d'utilisation et à la portabilité plus grande -- Linux, Mac OS X, Windows et j'en passe --, à savoir CMake et SCons. Pour ma part, j'utilise SCons.

   Sinon, je travaille actuellement sur un document qui doit aborder ces sujets, mais je n'ai pas trop avancé dessus ces derniers temps.

   À bientôt.

   Le Farfadet Spatial

Dernière modification par Le Farfadet Spatial (Le 03/05/2010, à 14:00)

Hors ligne

#4 Le 03/05/2010, à 14:49

rniamo

Re : Bien structurer un projet c++

je rejoins à peut près Le farfadet (à part peut être sur emacs que je ne comparerais pas à vim wink).

les dossiers importants sont src/, build/ (moi je l'appelle bin/), dbg/, resources/ (ou doc/ selon le type de projet et de resources). J'ajouterais qu'il est possible de séparer dans les .h des .cpp en ajoutant le dossier include/. Enfin en conclusion il faut que tu choississes ta structure je pense mais respecte (au moins pour toi) un minimum d'organisation. Celle que t'as donné le Fafardet est le plus classique et une des plus efficace.

Enfin concernant les outils de build, je le rejoins aussi, j'aime bien scons mais cmake est plus puissant et portable...a priori wink. Pour la majorité des projet un makefile est déjà pas mal (surtout en amateur)


< Quelques un des mes programmes  | Cuisine Facile (pour les gourmands) | Fast MVC for PHP >
        \   ^__^
         \  (o o)\_______
            (___)\            )\

Hors ligne