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 Studio Discussion :

Lier deux projets visual dans une même solution


Sujet :

Visual Studio

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2012
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2012
    Messages : 22
    Points : 18
    Points
    18
    Par défaut Lier deux projets visual dans une même solution
    Bonjour,
    J'aimerais faire un projet qui sera ma lib une fois finie et un projet avec un main et deux trois fichiers pour tester la lib en développement. La lib n'est qu'un projet et ne contient que des hpp et cpp pour l'instant. Comment je fais pour que le main soit lier à l'autre projet sachant que j'ai déjà inclus les hpp et les cpp dans les liens du projets. J'ai des erreurs de LNK2001 alors que dans la compilation il ne me dit rien. J'en conclus que les liens ne sont font pas correctement entre les objets.

    Auriez vous une solution?

    Je vous remercie d'avance,
    Jérémy

  2. #2
    Membre expert Avatar de jopopmk
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2011
    Messages
    1 856
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Mars 2011
    Messages : 1 856
    Points : 3 570
    Points
    3 570
    Par défaut
    Salut,

    click droit sur les références de ton projet exe et fait "ajouter une référence", dans l'onglet "solution" tu trouveras ton projet lib, suffit alors de cocher la checkbox.

    Tu peux également rendre ton projet exe "dépendant" de ton projet lib, VS déterminera alors le bon ordre de compilation.
    Plus je connais de langages, plus j'aime le C.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2012
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2012
    Messages : 22
    Points : 18
    Points
    18
    Par défaut
    Oui mais mon autre projet n'est pas une lib pour l'instant, c'est juste un projet composés de hpp et de cpp. En gros je veux juste dans le projet main pouvoir me servir des cpp et hpp de l'autre projet (dans la même solution). Le soucis est qu j'arrive bien à linker les hpp mais les hpp ne font plus le lien vers les cpp. Exemple dans le main j'include camera.hpp sans soucis. J'appelle le constructeur de la classe camera. Ce constructeur est défini dans le fichier camera.cpp. J'ai donc une erreur lnk2001 car il n'arrive pas à trouver le constructeur dans le fichier camera.cpp.

  4. #4
    Membre expert Avatar de jopopmk
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2011
    Messages
    1 856
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Mars 2011
    Messages : 1 856
    Points : 3 570
    Points
    3 570
    Par défaut
    Re,

    sans être méchant, ce que tu cherches à faire n'a pas de sens. Pour que le code d'un fichier .c/.cpp soit pris en compte il faut qu'il soit intégré dans la commande de compilation, ce qui signifie qu'il doit être dans ton projet VS.

    Si ce que tu veux c'est avoir des fichiers .c/.cpp que tu intégreras dans différents projets, rien ne t'empêche de le mettre dans un répertoire bien à part et de les ajouter (click droit sur le projet > ajouter une source existante > parcours et sélectionne tes fichiers) à chacun de tes projets. Les fichiers à compiler n'ont pas besoin d'être tous dans le même répertoire/arborescence.

    edit : vu que tu as l'air de t'accrocher à l'idée de mettre ses fichiers dans un autre projet de ta solution, rien ne t'empêche d'utiliser la méthode que je t'ai indiquée pour ajouter (sans dupliquer) le fichier .cpp dans ton autre projet. Mais ça reste inapproprié. Enfin, si ton but final est de faire une lib/dll, alors autant la mettre en place de suite : ça mange pas de pain comme on dit.
    Plus je connais de langages, plus j'aime le C.

  5. #5
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2012
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2012
    Messages : 22
    Points : 18
    Points
    18
    Par défaut
    Nom : arborescence.JPG
Affichages : 1599
Taille : 22,6 Ko

    Voila mon arborescence. Tout bêtement j'ai le projet seed-framework et le projet main mais je n'arrive pas à faire correctement les liens entre les deux alors que tous mes fichiers sont la. Je précise que tout la solution est généré par cmke et que j'ajoute aprés le projet main.

  6. #6
    Membre expert Avatar de jopopmk
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2011
    Messages
    1 856
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Mars 2011
    Messages : 1 856
    Points : 3 570
    Points
    3 570
    Par défaut
    cmke ? CMake ?

    Quand tu génères seed-graphics tu as quoi comme fichier de sortie ?
    Et qu'as-tu comme paramètre pour ce projet ?

    Une autre solution pour ta première question (en-dehors du contexte que tu nous a nouvellement montré) :
    Le linker de VS semble pouvoir gérer des .obj en entrée, ça pourrait correspondre à ta demande (même si ça revient à peu ou prou à linker un lib en static).
    Plus je connais de langages, plus j'aime le C.

  7. #7
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2012
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2012
    Messages : 22
    Points : 18
    Points
    18
    Par défaut
    Alors du coup j'ai réglé mon problème. Vous aviez effectivement raison. J'ai compilé le projet principal comme une lib en sortie et j'ai lié le projet main à la lib compilé. Le problème tout bêtement réglé est que j'avais lié le dossier include mais pas le fichier lib compilé (.lib).

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 16/12/2009, 13h36
  2. Communication entre 2 projets dans une même solution
    Par Alex972 dans le forum Windows Forms
    Réponses: 6
    Dernier message: 30/03/2009, 04h35
  3. Réponses: 11
    Dernier message: 13/03/2008, 11h06
  4. [Débutant]Deux Threads différent dans une même classe?
    Par nicofromChina dans le forum Concurrence et multi-thread
    Réponses: 10
    Dernier message: 26/01/2007, 15h58
  5. Lier deux fichiers HF dans une table
    Par SNITON dans le forum WinDev
    Réponses: 1
    Dernier message: 03/01/2006, 22h32

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