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 :

Erreur de lieur


Sujet :

C++Builder

  1. #1
    Membre éclairé
    Homme Profil pro
    Consultant technique
    Inscrit en
    Juillet 2002
    Messages
    519
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Consultant technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2002
    Messages : 519
    Par défaut Erreur de lieur
    Bonjour,

    j'ai un projet qui me met une erreur de lieur.
    Le projet utilise une dll fait en dotnet 4.0 en utilisant l'interop.
    Je récupère le fichier dll et le fichier tlb et j'ai fait une importation du fichier tlb.

    [ILINK32 Erreur] Error: 'Libperso_tlb::CLSID_ClassePerso' externe non résolu, référencé depuis C:\DOCUMENTS AND SETTINGS\FLORENT\MES DOCUMENTS\RAD STUDIO\PROJETS\TEST\RELEASE\UNIT1.OBJ
    J'ai aussi ajouté au projet le fichier tlb et la dll mais je ne peux plus compiler à cause de cette erreur.

    J'ai essayé de supprimer tous les fichiers créés par le compilateur et le lieur pour les forcer à les recréer.

    Vous avez une idée ?

    Merci

    EDIT :
    Ce problème intervient quand j'utilise :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    //#include "mscorlib_TLB.h"
    //#include "libperso_TLB.h"
    Si j'utilise :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    #import "C:\WINDOWS\Microsoft.NET\Framework\v4.0.30128\mscorlib.tlb" raw_interfaces_only
    #import "C:\Documents and Settings\Florent\Mes documents\RAD Studio\Projets\test\libperso.tlb" raw_interfaces_only named_guids
    j'ai le message d'erreur suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    [BCC32 Erreur] Unit1.h(13): E2209 Impossible d'ouvrir le fichier include ' mscorlib.tlh'
    [BCC32 Erreur] Unit1.h(14): E2209 Impossible d'ouvrir le fichier include ' libperso.tlh'
    Alors que le fait d'avoir #import C++Builder a généré le fichier tlh et tli.

    Une idée ?

  2. #2
    Membre Expert
    Avatar de kmaniche
    Inscrit en
    Janvier 2006
    Messages
    1 717
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 717
    Par défaut
    J'ai aussi ajouté au projet le fichier tlb et la dll mais je ne peux plus compiler à cause de cette erreur.
    Comment tu l'as fais ?

    Projet > Add To Project ...

  3. #3
    Membre éclairé
    Homme Profil pro
    Consultant technique
    Inscrit en
    Juillet 2002
    Messages
    519
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Consultant technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2002
    Messages : 519
    Par défaut
    Oui, c'est ce que j'ai fait.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 63
    Par défaut Erreur de lieur
    Le message est marqué comme résolu la solution m'intéresse car j'ai le même souci. Merci d'avance.

  5. #5
    Membre éclairé
    Homme Profil pro
    Consultant technique
    Inscrit en
    Juillet 2002
    Messages
    519
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Consultant technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2002
    Messages : 519
    Par défaut
    J'ai pas C++Builder sur mon poste actuellement mais voici en gros ce que j'ai fait.
    Tout d'abord, il faut enregistrer la dll .NET dans le GAC. Sinon, elle ne fonctionne pas. Elle doit être
    J'ai utilisé cette ligne dans un fichier bat en mode administrateur que j'ai mis dans le dossier de la dll :
    "C:\Windows\Microsoft.NET\Framework\v4.0.30128\RegAsm.exe" lib.dll /tlb:lib.tlb /codebase
    Cette ligne doit être mise à jour en fonction de ta dll et de la version de ton RegAsm.
    A noté que j'ai signé la dll avec le fichier lib.snk. Je crois que c'est indispensable pour que le processus aille jusqu'au bout.

    Ensuite, j'ai utilisé le module d'import de bibliothèques qui se situe dans le menu composant->importer un composant
    Je n'ai pas sélectionné l'import de DLL .NET car elle n'est pas compatible avec les versions récentes de .NET (importer une bibliothèque de type->ajouter).


    A noté, les fichiers d'imports se sont mis dans C:\Documents and Settings\nom d'utilisateur\Mes documents\RAD Studio\6.0\Imports
    En cas de problème de liaison, on peut ajouter ce dossier dans les dossiers de librairie ou d'include.


    J'espère que ces explications t'aideront. J'ai vraiment galéré pour faire fonctionner mon système avant de trouver ce procédé. D'ailleurs, je n'ai pas trouvé d'aide sur internet à ce propos.

    Bonne chance.

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

Discussions similaires

  1. Erreur de lieur sur projet console
    Par Mercusyo dans le forum C++Builder
    Réponses: 6
    Dernier message: 23/09/2012, 14h49
  2. Erreur de lieur
    Par gandf dans le forum C++Builder
    Réponses: 10
    Dernier message: 30/07/2009, 09h17
  3. Erreur de lieur avec la librairie OpenCV
    Par pasqual dans le forum C++Builder
    Réponses: 5
    Dernier message: 23/09/2008, 22h28
  4. Erreur de lieur
    Par root508 dans le forum C++Builder
    Réponses: 4
    Dernier message: 23/06/2007, 23h48
  5. Erreur de lieur
    Par Pirlouit260593 dans le forum C++Builder
    Réponses: 7
    Dernier message: 04/11/2004, 14h44

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