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

Erreur de link 2001 et 2019


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    354
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Tunisie

    Informations forums :
    Inscription : Février 2008
    Messages : 354
    Par défaut Erreur de link 2001 et 2019
    Bonjour,
    J'ai voulu développer une application en utlisant l'éditeur QT et en compilant en utilisant VC2012( visual Studio Express 2013).
    J'ai voulu utiliser la bibliothèque OpenCascade.
    Mais juste en mettant le #include <STEPControl_Reader.hxx> ile me parait plusieurs erreurs de link
    mainwindow.obj:-1: erreur : LNK2019: symbole externe non résolu "public: static void __cdecl Standard::Free(void * const)" (?Free@Standard@@SAXQAX@Z) référencé dans la fonction "public: static void __cdecl Standard_Storable::operator delete(void *)" (??3Standard_Storable@@SAXPAX@Z)

    mainwindow.obj:-1: erreur : LNK2019: symbole externe non résolu "public: virtual void __thiscall Standard_Storable:elete(void)" (?Delete@Standard_Storable@@UAEXXZ) référencé dans la fonction "public: virtual __thiscall Standard_Storable::~Standard_Storable(void)" (??1Standard_Storable@@UAE@XZ)

    mainwindow.obj:-1: erreur : LNK2001: symbole externe non résolu "public: virtual int __thiscall Standard_Storable::HashCode(int)const " (?HashCode@Standard_Storable@@UBEHH@Z)

    mainwindow.obj:-1: erreur : LNK2019: symbole externe non résolu "private: void __thiscall Handle_Standard_Transient::EndScope(void)" (?EndScope@Handle_Standard_Transient@@AAEXXZ) référencé dans la fonction "public: __thiscall Handle_Standard_Transient::~Handle_Standard_Transient(void)" (??1Handle_Standard_Transient@@QAE@XZ)

    mainwindow.obj:-1: erreur : LNK2019: symbole externe non résolu "protected: __thiscall TCollection_BaseSequence::TCollection_BaseSequence(void)" (??0TCollection_BaseSequence@@IAE@XZ) référencé dans la fonction "public: __thiscall TColStd_SequenceOfTransient::TColStd_SequenceOfTransient(class TColStd_SequenceOfTransient const &)" (??0TColStd_SequenceOfTransient@@QAE@ABV0@@Z)

    mainwindow.obj:-1: erreur : LNK2001: symbole externe non résolu "public: virtual int __thiscall XSControl_Reader::NbRootsForTransfer(void)" (?NbRootsForTransfer@XSControl_Reader@@UAEHXZ)
    Merci pour vos aides

  2. #2
    Expert éminent

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 202
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 202
    Par défaut
    Outre utiliser les en-têtes déclarant les fonctions (l'include), il faut aussi indiquer au compilateur qu'il doit ajouter les définitions des dites fonctions.
    Définitions qu'il trouvera dans une bibliothèque partagée, dont il faut lui indiquer le nom et l'emplacement (s'il n'est pas standard).

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    354
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Tunisie

    Informations forums :
    Inscription : Février 2008
    Messages : 354
    Par défaut
    Bonjour,
    J'ai mis les includes nécessaires.
    J'ai mis les lignes suivantes dans main.pro
    INCLUDEPATH +=C:/OpenCASCADE6.8.0/opencascade-6.8.0/inc
    DEFINES +=WNT WIN32 NO_COMMONSAMPLE_EXPORTS NO_IESAMPLE_EXPORTS
    LIBS += -L"C:/OpenCASCADE6.8.0/opencascade-6.8.0/win32/vc10/lib/TKernel.lib"
    LIBS += -L"C:/OpenCASCADE6.8.0/opencascade-6.8.0/win32/vc10/lib/TKService.lib"
    LIBS += -L"C:/OpenCASCADE6.8.0/opencascade-6.8.0/win32/vc10/lib/TKMath.lib"
    LIBS += -L"C:/OpenCASCADE6.8.0/opencascade-6.8.0/win32/vc10/lib/TKG2d.lib"
    LIBS += -L"C:/OpenCASCADE6.8.0/opencascade-6.8.0/win32/vc10/lib/TKG3d.lib"
    LIBS += -L"C:/OpenCASCADE6.8.0/opencascade-6.8.0/win32/vc10/lib/TKV3d.lib"
    LIBS += -L"C:/OpenCASCADE6.8.0/opencascade-6.8.0/win32/vc10/lib/TKTopAlgo.lib"
    LIBS += -L"C:/OpenCASCADE6.8.0/opencascade-6.8.0/win32/vc10/lib/TKBrep.lib"
    LIBS += -L"C:/OpenCASCADE6.8.0/opencascade-6.8.0/win32/vc10/lib/TKGeomBase.lib"
    LIBS += -L"C:/OpenCASCADE6.8.0/opencascade-6.8.0/win32/vc10/lib/TKGeomAlgo.lib"
    LIBS += -L"C:/OpenCASCADE6.8.0/opencascade-6.8.0/win32/vc10/lib/TKMesh.lib"
    LIBS += -L"C:/OpenCASCADE6.8.0/opencascade-6.8.0/win32/vc10/lib/TKPrim.lib"
    LIBS += -L"C:/OpenCASCADE6.8.0/opencascade-6.8.0/win32/vc10/lib/TKOffset.lib"
    Est ce que l'utilisation des .lib générés en utilisant VC10, dans un projet qt compiler par VC12 peut causer des problèmes de link?

  4. #4
    Expert éminent

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 202
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 202
    Par défaut
    Pour ton EDI, je ne sais pas, mais avec g++ (gcc), -L sert à indiquer un chemin de recherche des bibliothèques, tandis que -l (L minuscule) sert à demander l'utilisation d'une bibliothèque, en donnant son nom court.
    ainsi, plutot que
    LIBS += -L"C:/OpenCASCADE6.8.0/opencascade-6.8.0/win32/vc10/lib/TKernel.lib"
    LIBS += -L"C:/OpenCASCADE6.8.0/opencascade-6.8.0/win32/vc10/lib/TKService.lib"
    Tu aurais
    -L"C:/OpenCASCADE6.8.0/opencascade-6.8.0/win32/vc10/lib/" -lTKernel -l TKService

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    354
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Tunisie

    Informations forums :
    Inscription : Février 2008
    Messages : 354
    Par défaut
    Citation Envoyé par ternel Voir le message
    Pour ton EDI, je ne sais pas, mais avec g++ (gcc), -L sert à indiquer un chemin de recherche des bibliothèques, tandis que -l (L minuscule) sert à demander l'utilisation d'une bibliothèque, en donnant son nom court.
    ainsi, plutot que
    LIBS += -L"C:/OpenCASCADE6.8.0/opencascade-6.8.0/win32/vc10/lib/TKernel.lib"
    LIBS += -L"C:/OpenCASCADE6.8.0/opencascade-6.8.0/win32/vc10/lib/TKService.lib"
    Tu aurais
    -L"C:/OpenCASCADE6.8.0/opencascade-6.8.0/win32/vc10/lib/" -lTKernel -l TKService
    Merci beaucoup pour votre réponse.
    Elle m'a bien aidé.
    Mais le problème n'est pas bien résolu. EN fait au lieu de 11 erruer de link, J'ai eu une seule qui est


    main.obj:-1: erreur : LNK2001: symbole externe non résolu "public: virtual int __thiscall XSControl_Reader::NbRootsForTransfer(void)" (?NbRootsForTransfer@XSControl_Reader@@UAEHXZ)

    Est ce que vous pouvez m'aider à résoudre cette dernière erreur.
    Merci infiniment

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    354
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Tunisie

    Informations forums :
    Inscription : Février 2008
    Messages : 354
    Par défaut
    Il me manque juste des libs à ajouter.
    Merci infiniment Mr ternel pour votre aide.

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

Discussions similaires

  1. erreur link 2001 dans un fichier .def
    Par totoscill dans le forum Windows
    Réponses: 1
    Dernier message: 19/05/2009, 09h55
  2. template et erreur de link
    Par Willand dans le forum Langage
    Réponses: 12
    Dernier message: 05/12/2006, 21h19
  3. erreur de link(age) g++
    Par corwin dans le forum Autres éditeurs
    Réponses: 1
    Dernier message: 05/05/2004, 11h33
  4. [wxWindows] Erreur de link pour ODBC
    Par ovh dans le forum wxWidgets
    Réponses: 3
    Dernier message: 28/01/2004, 15h38
  5. DirectDrawCreate erreur de link
    Par Ing_Ben dans le forum DirectX
    Réponses: 1
    Dernier message: 01/12/2002, 18h46

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