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

C++Builder Discussion :

le fichier OBJ, il sert a quoi, a part faire des erreurs ?


Sujet :

C++Builder

  1. #1
    Nouveau membre du Club
    Inscrit en
    Avril 2004
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 33
    Points : 26
    Points
    26
    Par défaut le fichier OBJ, il sert a quoi, a part faire des erreurs ?
    Salut tout le monde !

    J'etais de bonne humeur ce matin, pret a affronter BCB, mais j'ai été vaincu encore une fois...
    Il me met 18 lieur erreur du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    [Lieur Erreur] Unresolved external '__fastcall Sysutils::AnsiStrComp(char *, char *)' referenced from C:\PROGRAM FILES\BORLAND\CBUILDER6\PROJECTS\TEST2.OBJ
    [Lieur Erreur] Unresolved external 'Sysutils::Win32MajorVersion' referenced from C:\PROGRAM FILES\BORLAND\CBUILDER6\PROJECTS\TEST2.OBJ
    Elles sont toutes comme ca.

    C'est une appli console, que je voudrais compiler (evidemment) sans avoir besoin de packages. J'ai vérifié les options du projet;
    lieur> pas de RTL dyna
    paquets>pas construire avec paquets d'exec

    Quelqu'un à une idée ?
    Est-ce que compiler mon code avec un autre compilateur peut marcher ?
    (j'en suis arrivé la...) Sacré BCB !

    Meri de votre aide !

  2. #2
    Membre chevronné
    Avatar de Gilles Louïse
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    421
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2002
    Messages : 421
    Points : 1 911
    Points
    1 911
    Par défaut
    Les obj sont la traduction en assembleur du C++ mais sans les liens c'est-à-dire sans les adresses de variables, de saut etc. D'où la fonction suivante, le link (lien) qui bouche les trous en inscrivant tous les liens dans les fichiers obj créant ainsi un exécutable.

    Si vous avez des erreurs de ce genre, il se peut que votre projet soit déstabilisé. Le mieux est de créer un répertoire particulier à votre projet, de repartir de zéro et de le recréer par copier-coller. Ça ne prend que quelques minutes sur un projet simple et vous ne pouvez plus (en principe) avoir des erreurs de link.

    À bientôt
    Gilles

  3. #3
    Membre expérimenté

    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    1 138
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 138
    Points : 1 504
    Points
    1 504
    Par défaut
    En general quand ca fait ca, c'est aussi a cause d'includes redondant ou de déclaration mal placée des variables (notamment dans les headers) donc tu peux aussi regarder de ce coté là.
    Sinon tu peux toujours essayer de recreer ton projet.
    Tu peux supprimer les obj si tu veux, ca t'empechera ps de compiler mais ca n'arrangera rien probablement.
    Bonne chance

  4. #4
    Nouveau membre du Club
    Inscrit en
    Avril 2004
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 33
    Points : 26
    Points
    26
    Par défaut
    Merci beaucoup a vous, mais ca n'a rien arrangé, ni la première solution ni la deuxième n'a marché. A vrai dire, la deuxieme me pose des questions : comment placer les headers ?

    Voila le prog, a partir de la ligne 1 :
    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
    #include <stdio.h>
    //#include <stdlib.h>
    #include <conio.h>
    #include <string.h>
    #include <vcl.h>
    //#include <dir.h>   // setdisk et getdisk
    #include <Registry.hpp>     // registre
    #include <winsock2.h>
    //#include <math.h>
    //---------------------------------------------------------------------------
     
    #pragma argsused
    #pragma hdrstop
     
     
    int main(int argc, char* argv[])   //main()
    {
    textcolor(15);
    .
    .
    .
    J'ai enlevé le maximum de fonctions qui ne me servent plus, mais y'aurait-il un ordre pour les include ? Et les "pragma" ?

    Merci !!!

  5. #5
    CGi
    CGi est déconnecté
    Expert éminent
    Avatar de CGi
    Inscrit en
    Mars 2002
    Messages
    1 030
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 1 030
    Points : 8 316
    Points
    8 316
    Par défaut
    Bien souvent quand tu as cette erreur (Unresolved external fonction)
    c'est que le prototype est bien déclaré mais c'est la lib qu'il ne trouve pas.
    Site : http://chgi.developpez.com

    Pourquoi faire simple quand on peut faire compliqué ? (Jacques Rouxel)

  6. #6
    Nouveau membre du Club
    Inscrit en
    Avril 2004
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 33
    Points : 26
    Points
    26
    Par défaut
    Dans ce cas la, il ne pourrait pas non plus compiler avec les paquets d'execution, si ?

    Car il me met cette erreur uniquement quand je lui dit de construire SANS paquets d'execution.
    Soit dit en passant, j'arrive a compiler avec UN SEUL paquet : rtl

    ...
    Reinstaller BCB changerait-il qqch ?

  7. #7
    Membre habitué
    Avatar de Casp
    Homme Profil pro
    Reponsable Technique
    Inscrit en
    Avril 2003
    Messages
    133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Reponsable Technique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2003
    Messages : 133
    Points : 132
    Points
    132
    Par défaut
    un petit conseil pour tes fichier.h

    par exemple : fichier.h

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    #ifndef FICHIER_H
    #define FICHIER_H
     
    #include .....
    ....
     
    class Fichier {
     ...........
     ...........
     }
     
    #endif

  8. #8
    Nouveau membre du Club
    Inscrit en
    Avril 2004
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 33
    Points : 26
    Points
    26
    Par défaut
    Euh.... Je n'ai utilisé qu'une fois les fichiers.h, pour des appels de fonctions, mais je ne m'en sers pas dans ce projet...

  9. #9
    Nouveau membre du Club
    Inscrit en
    Avril 2004
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 33
    Points : 26
    Points
    26
    Par défaut
    Bon bah !

    J'ai enfin trouvé !

    Pour ceux que ca interesse (et y'en a !):
    Quand Borland C++ Builder 6 (c'est pour les moteurs de recherche) affiche un lieur erreur, débugger le programme en trouvant les librairies INDISPENSABLES a la construction du prog
    => Projet> Options> Paquets> Construire avec paquets d'execution :
    virer le maximum de librairies, mais lui dire de construire AVEC.

    rajouter la directive :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    #pragma comment (lib,"lenomdelalibrairie.lib")
    Décocher "construire avec les paquets d'execution". Construire.

    Moi, j'avais que "rtl" >> #pragma comment (lib,"rtl.lib")
    a fonctionné...

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 03/09/2009, 16h28
  2. [Irrlicht] recherche code (lire/afficher) fichier OBJ
    Par Husqvarna dans le forum Irrlicht
    Réponses: 3
    Dernier message: 14/03/2006, 11h19
  3. [TPW] Uses wincrt : sert a quoi exactement
    Par baya dans le forum Turbo Pascal
    Réponses: 3
    Dernier message: 26/12/2005, 15h41
  4. fichier *.obj???
    Par neril dans le forum OpenGL
    Réponses: 2
    Dernier message: 13/04/2005, 10h07
  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