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

VC++ .NET Discussion :

Lier les fichiers .Obj ?


Sujet :

VC++ .NET

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 4
    Par défaut Lier les fichiers .Obj ?
    Bonjour !

    J'essaye de faire un petit programme pour communiquer avec un wattmètre via GPIB, mais j'ai un problème avec les fichiers .obj.

    Avec code bloque il suffisait de les lier au projet via les option du projet, et la sous Visual studio C++ express 2005, je n'arrive pas à trouver comment les lier au projet.

    Désolé si sa parait simple mais sa fait un petit bout de temps que je bloque la dessus.

    Si quelqu'un pouvait m'expliquer ou me donner un lien qui explique l'utilisation des .obj. Merci d'avance.

    Maestrom

  2. #2
    Rédacteur
    Avatar de Neitsa
    Homme Profil pro
    Chercheur sécurité informatique
    Inscrit en
    Octobre 2003
    Messages
    1 041
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chercheur sécurité informatique

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 041
    Par défaut
    Bonjour,

    Citation Envoyé par Maestrom Voir le message
    Bonjour !

    J'essaye de faire un petit programme pour communiquer avec un wattmètre via GPIB, mais j'ai un problème avec les fichiers .obj.

    Avec code bloque il suffisait de les lier au projet via les option du projet,
    Code::Blocks plutôt, non ?

    et la sous Visual studio C++ express 2005, je n'arrive pas à trouver comment les lier au projet.
    Désolé si sa parait simple mais sa fait un petit bout de temps que je bloque la dessus.

    Si quelqu'un pouvait m'expliquer ou me donner un lien qui explique l'utilisation des .obj. Merci d'avance.

    Maestrom
    Un des intérêts de l'IDE est qu'il fait toute les étapes pour toi, du code source aux fichiers objet (compilation), et du (des) fichier(s) objet au fichier exécutable (édition de lien). Normalement, l'édition de lien est automatique si on fait un build (CTRL + SHIFT + B ou ALT + B -> ALT + U).

    Il est possible que le fichier exécutable ne soit pas dans le répertoire que tu attends (c-a-d avec les fichiers .obj) mais mis dans un autre répertoire.

    Pour voir où se trouve ton .exe résultant, fait (ici en anglais) :

    Project > Properties > configuration > linker > general > Output Files.

    Par défaut il me semble que c'est : $(OutDir)\$(ProjectName).exe

    Pour voir ce que valent les macros OutDir et ProjectName, il suffit de cliquer dans le champ "Ouput files" sur <Edit> et "Macros". Tu aura alors le répertoire de sortie de ton exécutable.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 4
    Par défaut re
    Oups désolé, je voulais effectivement parler de CodeBlocks (J'ai écrit trop vite )

    Sinon pour la seconde partie je n'ai pas trés bien compris, j'essaye un programme simple, ci dessous :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
     
    #include "stdafx.h"
    #include "stdio.h"
    #include "conio.h"
    #include "visa.h"
     
     
    int _tmain(int argc, _TCHAR* argv[])
    {
    	printf("Hello");
     
    	ViSession defaultRM, vi;
    	char buf [256] = {0};
     
    	/* Open session to GPIB device at address 22 */
    	viOpenDefaultRM (&defaultRM);
    	viOpen (defaultRM, "GPIB0::20::INSTR", VI_NULL,VI_NULL, &vi);
     
    	/* Initialize device */
    	 viPrintf (vi, "*RST\n");
     
    	 /* Send an *IDN? string to the device */
    	 viPrintf (vi, "*IDN?\n");
     
    	 /* Read results */
    	viScanf (vi, "%t", &buf);
     
    	/* Print results */
    	printf ("Instrument identification string: %s\n", buf);
     
    	 /* Close session */
    	 viClose (vi);
    	 viClose (defaultRM);
     
    	getch();
    	return (0);
    }
    Et le compilateur me retourne les erreurs suivantes :
    Communication_GPIB.obj : error LNK2019: symbole externe non résolu _viClose@4 référencé dans la fonction _wmain
    Communication_GPIB.obj : error LNK2019: symbole externe non résolu _viScanf référencé dans la fonction _wmain
    Communication_GPIB.obj : error LNK2019: symbole externe non résolu _viPrintf référencé dans la fonction _wmain
    Communication_GPIB.obj : error LNK2019: symbole externe non résolu _viOpen@20 référencé dans la fonction _wmain
    Communication_GPIB.obj : error LNK2019: symbole externe non résolu _viOpenDefaultRM@4 référencé dans la fonction _wmain

    Avec CodeBlocks j'obtenais les même erreurs mais une fois la librairie agvise32.lib lier au projet je pouvais compiler.
    Maintenant avec Visual studio je ne comprend pas comment la lier.

    Voila j'espère avoir était plus clair

    Merci d'avance
    Maestrom

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

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 392
    Par défaut
    Project Properties -> Configuration Properties -> Linker -> Input -> champ "Additional Dependencies".
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  5. #5
    Rédacteur
    Avatar de Neitsa
    Homme Profil pro
    Chercheur sécurité informatique
    Inscrit en
    Octobre 2003
    Messages
    1 041
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chercheur sécurité informatique

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 041
    Par défaut
    Voilà, comme l'indique justement Médinoc.

    Et pour compléter sa réponse, si ta bibliothèque ne se trouve pas dans un chemin connu de l'IDE :

    Project Properties -> Configuration Properties -> Linker -> General -> Additionnal Library Directories

    Dans ce champs tu pourra mettre le chemin complet du répertoire contenant ta bibliothèque.

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 4
    Par défaut
    C'est exactement se que je cherchais !

    Merci beaucoup à tous les deux

    Maestrom

  7. #7
    Membre très actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haut Rhin (Alsace)

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

    Informations forums :
    Inscription : Mai 2002
    Messages : 277
    Par défaut Lier .OBJ au projet
    Bonjour,

    Dans le meme projet VIsual C++ 2008 Express, j'ai 2 fichiers, 1 source C utilisant GLUT (biclou.c), et une classe Point3D.
    Probleme lorsque je compile, il me cree 2 .OBJ (biclou.obj et Point3D.obj), mais il ne les lie pas, j'ai des erreurs

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    biclou.obj : error LNK2019: symbole externe non résolu "public: __thiscall Point3D::~Point3D(void)" (??1Point3D@@QAE@XZ) référencé dans la fonction "void __cdecl prepareScene(void)" (?prepareScene@@YAXXZ)
    biclou.obj : error LNK2019: symbole externe non résolu "public: void __thiscall Point3D::send(void)" (?send@Point3D@@QAEXXZ) référencé dans la fonction "void __cdecl prepareScene(void)" (?prepareScene@@YAXXZ)
    biclou.obj : error LNK2019: symbole externe non résolu "public: __thiscall Point3D::Point3D(float,float,float,float,float)" (??0Point3D@@QAE@MMMMM@Z) référencé dans la fonction "void __cdecl prepareScene(void)" (?prepareScene@@YAXXZ)
    F:\console\edi\eclipse\workspace\biclou\Debug\biclou.exe : fatal error LNK1120: 3 externes non résolus
    Pourtant visual C++ devrait lier tous les fichiers du projet, comment faire ?

    Cordialement.

Discussions similaires

  1. Réponses: 1
    Dernier message: 08/02/2013, 01h18
  2. [WD14] Lier les champs d'une Fenêtre à 2 fichiers
    Par miripesage dans le forum WinDev
    Réponses: 2
    Dernier message: 26/05/2011, 12h02
  3. [Turbo Pascal] Lier les fichiers BGI au programme
    Par lex001 dans le forum Turbo Pascal
    Réponses: 6
    Dernier message: 23/10/2009, 16h49
  4. Utilisation d'un fichiers OBJ pour les collisions
    Par Lynix dans le forum Physique
    Réponses: 2
    Dernier message: 09/07/2009, 16h28
  5. Est-ce que les fichiers .obj sont tous les mêmes?
    Par Bubonik software dans le forum Langages de programmation
    Réponses: 2
    Dernier message: 30/12/2003, 21h04

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