IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Visual C++ Discussion :

Organisation des fichiers après génération


Sujet :

Visual C++

  1. #1
    Membre expérimenté
    Profil pro
    Inscrit en
    Février 2004
    Messages
    1 824
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 1 824
    Points : 1 544
    Points
    1 544
    Par défaut Organisation des fichiers après génération
    Bonjour à tous,

    J'ai fait une librairie, et je penses à l'organisation des fichiers après compilation.
    En général, pour toute librairie, après compilation ça copie le ".lib" dans un répertoire "lib", ainsi que les entêtes dans un répertoire "include".

    J'imagine que ça ne se fait pas manuellement et que VS est capable de gérer ça, pouvez-vous me dire comment faire ?

    Merci,

    A bientôt

  2. #2
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 382
    Points : 41 590
    Points
    41 590
    Par défaut
    Option "Output directory" de chaque projet.
    Mais les en-têtes, on ne les copie généralement pas, car ils ne sont pas générés: Le plus simple est de les mettre directement dans le répertoire "include"...

  3. #3
    Membre éprouvé
    Avatar de Gabrielly
    Inscrit en
    Juin 2004
    Messages
    722
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 722
    Points : 1 128
    Points
    1 128
    Par défaut
    Voici un exemple de l'organisation d'une librairie MCN perso indépendante de la machine cible.

    Configuration : Debug

    Configuration Properties > General > Output Directory : $(McnDebugDir)
    Configuration Properties > Linker > General > Output File : $(OutDir)x86\$(ProjectName)d.dll
    Configuration Properties > Linker > Input > Additional Dependencies : Dll1d.lib Dll2d.lib Dll3d.lib
    Configuration Properties > Linker > Input > Module Definition File : .\$(TargetName).def
    Configuration Properties > Linker > Manifest File > Manifest File : $(OutDir)x86\Manifests\$(TargetFileName).manifest
    Configuration Properties > Linker > Debugging > Generate Program Database File : $(McnPdbDir)$(TargetName).pdb
    Configuration Properties > Linker > Advanced > Import Library : $(McnLibDir)\Debug\$(TargetName).lib


    Configuration : Release

    Configuration Properties > General > Output Directory : $(McnReleaseDir)
    Configuration Properties > Linker > General > Output File : $(OutDir)x86\$(ProjectName).dll
    Configuration Properties > Linker > Input > Additional Dependencies : Dll1.lib Dll2.lib Dll3.lib
    Configuration Properties > Linker > Input > Module Definition File : .\$(TargetName).def
    Configuration Properties > Linker > Manifest File > Manifest File : $(OutDir)x86\Manifests\$(TargetFileName).manifest
    Configuration Properties > Linker > Debugging > Generate Program Database File : $(McnPdbDir)$(TargetName).pdb
    Configuration Properties > Linker > Advanced > Import Library : $(McnLibDir)\Release\$(TargetName).lib

    où les variables d'environnements sont définis ainsi :

    McnDebugDir
    C:\GLX Microcongo Solution\Microcongo Solution\Framework\v1.0\bin\Microcongo.Mcn.Debug\

    McnReleaseDir
    C:\GLX Microcongo Solution\Microcongo Solution\Framework\v1.0\bin\Microcongo.Mcn.Release\

    McnLibDir
    C:\GLX Microcongo Solution\Microcongo Solution\Framework\v1.0\lib

    McnPdbDir
    C:\GLX Microcongo Solution\Microcongo Solution\Framework\v1.0\pdb\

    les autres variables sont celles de VS.

    Tous les *.h sont localisés à partir de ce dossier et des sous dossiers
    McnInclude
    C:\GLX Microcongo Solution\Microcongo Solution\Framework\v1.0\Projects\Microcongo.Mcn.1

    Pour que les autres projets puissent les utiliser, on configure les options dans VS.

    Menu Tools > Options > Projects and Solutions > VC++ Directories > Win32 : Include files : $(McnInclude)
    Menu Tools > Options > Projects and Solutions > VC++ Directories > Win32 : Library files : tu ajoutes $(McnLibDir)\debug et $(McnLibDir)\release
    Menu Tools > Options > Projects and Solutions > VC++ Directories > Win32 : Reference files : $(McnPdbDir)

    Tu dépose ta librairie dans ce répertoire
    McnSolutionDir
    C:\GLX Microcongo Solution\Microcongo Solution\Framework\v1.0\Projects\Microcongo.Mcn.1\

    Normalise la nomenclature de tes binaires :
    Debug : $(ProjectName)d.dll, $(ProjectName)d.exe, $(ProjectName)d.lib et $(ProjectName)d.pdb
    Release : $(ProjectName).dll, $(ProjectName).exe, $(ProjectName).lib et $(ProjectName).pdb

    ils sont jettés après compilation dans un même répertoire McnDebugDir ou McnReleaseDir ou $(McnLibDir)\debug ou $(McnLibDir)\release ou $(McnPdbDir)

    Pour la variable d'environnement "PATH" tu ajoutes : %McnDebugPath%;%McnReleasePath%


    McnDebugPath
    C:\GLX Microcongo Solution\Microcongo Solution\Framework\v1.0\bin\Microcongo.Mcn.Debug\x86

    McnReleasePath
    C:\GLX Microcongo Solution\Microcongo Solution\Framework\v1.0\bin\Microcongo.Mcn.Release\x86

    ça évite à partager le même répertoire des binaires générés par tes projets clients avec ceux de ta librairie.

    Les variables d'environnement sont à définir à partir du
    Post de Travail > Properties > Advanced > Environment variables > System variables : Tu les ajoutes ici

    Ensuite tu fermes VS et tu le réouvres afin qu'il recharge tous les paramètres à partir du registre. Ou bien tu réouvres simplement ta session windows.


Discussions similaires

  1. Réponses: 1
    Dernier message: 11/04/2008, 11h31
  2. [Système] Organisation des fichiers
    Par Prosis dans le forum Langage
    Réponses: 12
    Dernier message: 11/02/2008, 00h30
  3. decrypter des fichiers apres formatage
    Par mouchkar dans le forum Windows XP
    Réponses: 6
    Dernier message: 08/02/2008, 18h45
  4. Réponses: 6
    Dernier message: 07/01/2008, 16h13
  5. Organisation des fichiers du programme
    Par greg13 dans le forum Linux
    Réponses: 2
    Dernier message: 16/03/2007, 16h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo