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 confirmé
    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
    Points : 523
    Points
    523
    Par défaut Erreur de lieur
    Bonjour,

    J'ai régulièrement des erreurs de lieur concernant certaines librairie.
    Par exemple, j'ai un projet qui compile parfaitement mais si je change certaines options de compilation, il me met des erreurs de lieur comme par exemple :
    [Linker Erreur fatale] Impossible d'ouvrir le fichier 'IBCUSTOMDATASET.OBJ'
    Je peine toujours à résoudre le problème (fermeture de BDS2006, nettoyage du fichier projet, vérication des chemins) mais cela fait toujours la même chose. D'autres librairie font la même chose et ils ont tous un fichier dcu à la place d'un fichier obj.

    Avez vous une idée d'où peut venir ce problème?

    Merci

    J'ai aussi un autre petit problème. C++Builder ne m'indique plus les warnings si celui-ci compile.

  2. #2
    Membre confirmé

    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    531
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 531
    Points : 537
    Points
    537
    Par défaut
    je pense que ce sont des librairies Pascal, si tu as les sources il faut les recompiler/installer avec l'obtion "générer tous les fichier C++".

    Enfin tout tes PB semblent venir des options de compilation...

    et ne pas oublier de mettre le chemin des librairies aussi

  3. #3
    Membre confirmé
    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
    Points : 523
    Points
    523
    Par défaut
    J'avais déja fait toutes ces manipulations.
    Ca doit être mon installation ou des paramètres qui ne vont pas.

    De toute façon, je vais passer à C++Builder 2009 dans très peu de temps.
    Mais je voudrais garder mon isntallation de C++Builder 2006 et attendant de passer tous mes programmes sur la version 2009.

  4. #4
    Membre averti

    Profil pro
    Inscrit en
    Juin 2005
    Messages
    351
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2005
    Messages : 351
    Points : 446
    Points
    446
    Par défaut
    Salut,

    J'ai aussi régulièrement ce genre de problème avec la version 2007.

    Les trucs que j'ai trouvés pour corriger ça sont divers et parfois contradictoires, chaque problème ayant une solution différente:
    - Ajouter un "#pragma link "toto" " dans un fichier "cpp" du projet, ce qui force l'inclusion du package "toto" au linkage (souvent, le problème est de savoir quel est le package à ajouter...)
    - A l'inverse, enlever le "#pragma link "IBCUSTOMDATASET" " qui doit se trouver qqpart dans ton projet
    - Ajouter la composante correspondant à ton "ibcustomdataset" sur une fiche du projet (ce qui doit ajouter / enlever des packages dans le fichier make du projet), sauver le projet, enlever la composante et sauver à nouveau
    - Ouvrir le fichier du projet (.cbproj) dans le bloc-note et enlever toutes les références à "IBCUSTOMDATASET"

    Voilà, j'espère que tu trouveras ton bonheur là-dedans!

    Edit:
    Comme je le disais au premier point, le package qui contient ta composante "ibcustomdataset" a souvent un nom qu'il est très difficile à trouver. Pour trouver ce nom, tu peux regarder dans l'aide quel "include" correspond à ta composant et essayer son nom, tu peux aussi faire un projet vide, ajouter la composante, sauver, et regarder quels pragma ont été ajoutés par l'IDE.

  5. #5
    Membre confirmé
    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
    Points : 523
    Points
    523
    Par défaut
    J'ai déja fait tout ça.

    J'ai même supprimé les #pragma link et les #include concernés dans tous les fichiers du projet. A la sauvegarde, tout ceci est recréé et avant, cela résolvait le problème.

    Sachant que les chemins de recherche et d'inclusion sont corrects et n'ont pas changés alors que cela fonctionnait.

    J'espère que la version 2009 va corriger tous les plantages et les instabilités de BDS2006. Ce qui me gène c'est qu'il va falloir éplucher tout le code pour le rendre compatible à cause de l'unicode et qu'il va falloir réinstaller tous les composants additionnels s'ils sont compatibles.

    Peut-on installer la version 2009 sur un système où est installé le 2006 ?
    Parce qu'il y a des fichiers bpl dans windows/system32 qui y sont placé aussi bien avec le 2006 que le 2009.

  6. #6
    Membre averti

    Profil pro
    Inscrit en
    Juin 2005
    Messages
    351
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2005
    Messages : 351
    Points : 446
    Points
    446
    Par défaut
    Est-ce que tu as essayé de décocher les options "package-> Runtime package -> Build with runtime packages" ainsi que "Linker -> Linking ->Dynamic RTL" dans les options du projet ?

    Pour ce qui est de l'installation combinée des versions 2006 et 2009, je suis sceptique: probablement que les librairies ne sont pas compatibles... Mais tu peux toujours essayer de faire une installation dans un Virtual PC pour que tout soit parfaitement séparé

  7. #7
    Membre confirmé
    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
    Points : 523
    Points
    523
    Par défaut
    Effectivement, cela résoud le problème. L'exécutable est donc distribuable. Mais le problème c'est que j'en suis encore en plein développement et que j'utilise beaucoup le mode pas à pas et le suivi des variables pour vérifier le bon fonctionnement pour être certain qu'il n'y ai pas d'alléa de fonctionnement.
    D'autant plus que j'essaie de débugguer une partie de mon programme qui me pose quelques problèmes.

    Dans tout les cas, merci, ça va me permettre de continuer en attendant l'achat de la version 2009.

    Citation Envoyé par Patrick Seuret Voir le message
    Pour ce qui est de l'installation combinée des versions 2006 et 2009, je suis sceptique: probablement que les librairies ne sont pas compatibles... Mais tu peux toujours essayé de faire une installation dans un Virtual PC pour que tout soit parfaitement séparé
    C'est ce que je comptais faire s'il y a un risque d'incompatibilité. Avec une machine virtuel sur virtualbox. Mais pour ça, il faut que l'IDE soit plus réactif et qu'il plante moins.

  8. #8
    Membre averti

    Profil pro
    Inscrit en
    Juin 2005
    Messages
    351
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2005
    Messages : 351
    Points : 446
    Points
    446
    Par défaut
    Le fait de rendre le programme distribuable n'empêche pas de debugger avec les fonctions "pas à pas". C'est juste plus long à linker. Par contre, il faut bien le compiler en mode debug.

    Bon courage!

  9. #9
    Membre confirmé
    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
    Points : 523
    Points
    523
    Par défaut
    Ha bon. Alors j'avais un bug jusqu'à présent sans le savoir. Quand je décochais ces 2 cases, je n'avais plus les bulles bleues indiquant les lignes de code. Du coup, mes points d'arrêt ne marchaient plus.

    Merci pour toutes ces infos.

  10. #10
    Membre averti

    Profil pro
    Inscrit en
    Juin 2005
    Messages
    351
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2005
    Messages : 351
    Points : 446
    Points
    446
    Par défaut
    Etrange... En tout cas, moi avec C++ Builder 2007, je travaille toujours comme ça parce que j'ai des packages perso que je n'arrive pas à faire fonctionner lorsqu'ils ne sont pas dans l'exécutable! La situation inverse de toi!!

    Est-ce que tu es sûr que tu es en mode debug? Peut-être passes-tu automatiquement en mode "release" ce qui expliquerait que tu n'aies plus tes points bleus...

  11. #11
    Membre confirmé
    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
    Points : 523
    Points
    523
    Par défaut
    Non, je suis en mode debug mais j'ai rajouté plusieurs plug-in pour accélérer la compilation ou pour rajouter des fcontionnalité. J'ai mis le cnwizard, dephispeedup, c++compilerenhancement.
    Cela vient surement de la.

+ 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: 4
    Dernier message: 30/08/2011, 19h54
  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