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 :

Utilisation de 'vieilles' libraires dans C Builder 6 [Trucs & Astuces]


Sujet :

C++Builder

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 8
    Par défaut [Resolu]Utilisation de 'vieilles' libraires dans C Builder 6
    Bonsoir à tous,

    je dispose de la version 6 de builder et j'aimerais bien pouvoir compiler un projet qui utilise des .lib qui ont été réalisés avec la version 4.

    Bien evidement quand je compile le projet il y a une erreur de link car il ne trouve pas un fichier :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [Linker Fatal Error] Fatal: Unable to open file 'VCLE40.LIB'
    Le problème c'est que je ne dispose que des .h et des .lib donc pas moyen de recompiler les librairies

    De plus j'ai essayé de trouvé le compilateur seul pour la version 4 mais pas moyen de mettre la main dessus.

    Est ce que quelqu'un a une solution ou bien est ce que c'est mort :

    Merci.

  2. #2
    Membre Expert
    Avatar de DjmSoftware
    Homme Profil pro
    Responsable de compte
    Inscrit en
    Mars 2002
    Messages
    1 044
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Responsable de compte
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 044
    Billets dans le blog
    1
    Par défaut
    bonjour
    il te suffit de recompiler ton projet avec les Paquets
    et ainsi les fichiers anciens fichiers lib seront supprimés du fichier .bpr de ton application
    tu peux également modifier le fichier manuellement
    (Modifier les options de projet)
    cordialement
    vous trouverez mes tutoriels à l'adresse suivante: http://djmsoftware.developpez.com/
    je vous en souhaite une excellente lecture ...

    A lire : Les règles du forum

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 8
    Par défaut
    Merci pour la réponse mais je pense que je n'ai pas été assez explicite dans ma question.

    Je dispose d'un ensemble de fichiers .h et .lib. Ces fichiers correspondent à un ensemble de librairies permettant de programmer des applications de CAO. Mais ce n'est pas moi qui ait developpé ces fonctions et je ne dispose donc pas de leur code source. A partir de là il m'est impossible de les recompiler afin de disposer de nouveaux fichiers .lib utilisables avec ma version de builder.

    Ce que je veux faire c'est utiliser ces librairies dans un nouveau projet. J'ai donc créé mon nouveau projet et dans les options du projet j'ai modifié les choses suivantes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Dans le include path j'ai rajouté mon repertoire où se trouvent les .h
    Dans le library path j'ai rajouté mon repertoire où se trouvent les .lib
    Ensuite je fait mon include du .h principal dans mon source et je réalise le code. Une fois que je lance la compilation, il compile mes .cpp (j'en déduit qu'il trouve bien les fichier d'entete) mais il a un problème au moment du linkage, comme je l'ai noté dans mon autre message.

    Soit vous aviez bien compris mon problème et c'est moi qui ai rien compris à votre réponse , si c'est le cas je vous prierai de bien vouloir détailler un peu plus votre explication(oui je suis un peu lent ), soit je m'étais mal expliqué et donc je reformule ma question, est ce qu'il y a une solution à mon problème ?

    Merci

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 8
    Par défaut
    Bonsoir à tous,

    j'ai eu l'idée de télecharger sur la site de borland la mise a jour pour borland c++ builder 4. Ensuite j'ai extrait de l'archive le tant convoité fichier vcle40.lib et je l'ai placé dans le répertoire de builder.

    Donc la quand je lance la compilation il trouve bien le fichier mais il me met encore des erreurs. Et byzarement ce sont les meme erreurs que lorsque j'avais fait une copie de vcle.lib en vcle40.lib.

    Qqun peut il me dire ce qu'on peut en tirer? Parce que personellement je vois pas trop ce que ca signifie....

    Merci

  5. #5
    Membre Expert
    Avatar de DjmSoftware
    Homme Profil pro
    Responsable de compte
    Inscrit en
    Mars 2002
    Messages
    1 044
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Responsable de compte
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 044
    Billets dans le blog
    1
    Par défaut
    Bonjour,
    la VCL a beaucoup évolué depuis la version 4
    pour pouvoir utiliser ton ancien projet sous C++ Builder 6
    • Ouvrir le projet dans c++ Builder6
      C++ Builder va d'indiquer que le fichier projet va être mis a jour
      efface manuellement du fichier de projet(.bpr) tous les entrèes xx40.lib
      enregistre les modifications
      coche dans les options de projet (utilisation des paquets)
      recompile ton programme

    cela fonctionne parfaitement avec tous les projets anciennement écrit sous builder4
    cordialement
    vous trouverez mes tutoriels à l'adresse suivante: http://djmsoftware.developpez.com/
    je vous en souhaite une excellente lecture ...

    A lire : Les règles du forum

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 8
    Par défaut
    Bonsoir,

    quand j'ai vu la réponse j'ai eu un grand espoir mais malheureusement ca ne fonctionne toujours pas

    Quand j'ai ouvert mon projet il m'a effectivement dit qu'il allait le mettre à jour.
    Une fois l'importation du projet terminé je quitte builder en sauvegardant les modifications effectuées au projet.
    Ensuite j'ouvre le fichier .bpr et voilà ce qu'il y a dedans :

    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
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    <?xml version='1.0' encoding='utf-8' ?>
    <!-- C++Builder XML Project -->
    <PROJECT>
      <MACROS>
        <VERSION value="BCB.06.00"/>
        <PROJECT value="..\FichiersTemporaires\ProjetTestDeSyntheseStatique.exe"/>
        <OBJFILES value="..\FichiersTemporaires\ProjetTestDeSyntheseStatique.obj 
          ..\FichiersTemporaires\InterfaceTestDeSynthese.obj 
          ..\FichiersTemporaires\TIDecodagesSolides.obj 
          ..\FichiersTemporaires\TIDestructionsSolides.obj"/>
        <RESFILES value="ProjetTestDeSyntheseStatique.res"/>
        <IDLFILES value=""/>
        <IDLGENFILES value=""/>
        <DEFFILE value=""/>
        <RESDEPEN value="$(RESFILES) InterfaceTestDeSynthese.dfm"/>
        <LIBFILES value="..\BibliothequeZBufferStatique.lib ..\BibliothequeBRepStatiqueRegain.lib 
          ..\BibliothequeConsoleStatique.lib ..\BibliothequeLGBStatiqueRegain.lib 
          ..\BibliothequeMathematiqueStatique.lib 
          ..\BibliothequeOpBoolStatiqueRegain.lib 
          ..\BibliothequeSTLStatiqueRegain.lib ..\BibliothequeVisualiseurStatique.lib"/>
        <LIBRARIES value=""/>
        <SPARELIBS value="rtl.lib vcl.lib"/>
        <PACKAGES value="rtl.bpi vcl.bpi vclx.bpi vcljpg.bpi bcbsmp.bpi qrpt.bpi dbrtl.bpi 
          vcldb.bpi bdertl.bpi ibsmp.bpi vcldbx.bpi teeui.bpi teedb.bpi tee.bpi 
          nmfast.bpi dclocx.bpi"/>
        <PATHCPP value=".;"/>
        <PATHPAS value=".;"/>
        <PATHRC value=".;"/>
        <PATHASM value=".;"/>
        <DEBUGLIBPATH value="$(BCB)\lib\debug"/>
        <RELEASELIBPATH value="$(BCB)\lib\release"/>
        <LINKER value="ilink32"/>
        <USERDEFINES value=""/>
        <SYSDEFINES value="_RTLDLL;NO_STRICT;USEPACKAGES"/>
        <MAINSOURCE value="ProjetTestDeSyntheseStatique.cpp"/>
        <INCLUDEPATH value="$(BCB)\include;$(BCB)\include\vcl;..\Regain"/>
        <LIBPATH value="$(BCB)\lib\obj;$(BCB)\lib;..\Regain"/>
        <WARNINGS value="-w-par -w-8027 -w-8026"/>
        <WARNOPTSTR value=""/>
        <OTHERFILES value=""/>
      </MACROS>
      <OPTIONS>
        <IDLCFLAGS value="-I$(BCB)\include -I$(BCB)\include\vcl -I..\Regain -src_suffix cpp -boa"/>
        <CFLAG1 value="-Od -H=..\FichiersTemporaires\ProjetTestDeSyntheseStatique.csm -Vx -Ve -X- 
          -r- -a8 -b- -k -y -v -vi- -c -tW -tWM"/>
        <PFLAGS value="-N2..\FichiersTemporaires -N0..\FichiersTemporaires -$YD -$W -$O- -$A8 -v 
          -JPHNE -M"/>
        <RFLAGS value=""/>
        <AFLAGS value="/mx /w2 /zd"/>
        <LFLAGS value="-I..\FichiersTemporaires -D&quot;&quot; -aa -Tpe -x -Gn -v"/>
        <OTHERFILES value=""/>
      </OPTIONS>
      <LINKER>
        <ALLOBJ value="c0w32.obj $(PACKAGES) Memmgr.Lib sysinit.obj $(OBJFILES)"/>
        <ALLRES value="$(RESFILES)"/>
        <ALLLIB value="$(LIBFILES) $(LIBRARIES) import32.lib cp32mti.lib"/>
        <OTHERFILES value=""/>
      </LINKER>
      <FILELIST>
          <FILE FILENAME="ProjetTestDeSyntheseStatique.cpp" FORMNAME="" UNITNAME="ProjetTestDeSyntheseStatique" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
          <FILE FILENAME="ProjetTestDeSyntheseStatique.res" FORMNAME="" UNITNAME="ProjetTestDeSyntheseStatique" CONTAINERID="ResTool" DESIGNCLASS="" LOCALCOMMAND=""/>
          <FILE FILENAME="InterfaceTestDeSynthese.cpp" FORMNAME="FichePrincipale" UNITNAME="InterfaceTestDeSynthese" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
          <FILE FILENAME="TIDecodagesSolides.cpp" FORMNAME="" UNITNAME="TIDecodagesSolides" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
          <FILE FILENAME="TIDestructionsSolides.cpp" FORMNAME="" UNITNAME="TIDestructionsSolides" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
          <FILE FILENAME="..\BibliothequeZBufferStatique.lib" FORMNAME="" UNITNAME="BibliothequeZBufferStatique" CONTAINERID="LibTool" DESIGNCLASS="" LOCALCOMMAND=""/>
          <FILE FILENAME="..\BibliothequeBRepStatiqueRegain.lib" FORMNAME="" UNITNAME="BibliothequeBRepStatiqueRegain" CONTAINERID="LibTool" DESIGNCLASS="" LOCALCOMMAND=""/>
          <FILE FILENAME="..\BibliothequeConsoleStatique.lib" FORMNAME="" UNITNAME="BibliothequeConsoleStatique" CONTAINERID="LibTool" DESIGNCLASS="" LOCALCOMMAND=""/>
          <FILE FILENAME="..\BibliothequeLGBStatiqueRegain.lib" FORMNAME="" UNITNAME="BibliothequeLGBStatiqueRegain" CONTAINERID="LibTool" DESIGNCLASS="" LOCALCOMMAND=""/>
          <FILE FILENAME="..\BibliothequeMathematiqueStatique.lib" FORMNAME="" UNITNAME="BibliothequeMathematiqueStatique" CONTAINERID="LibTool" DESIGNCLASS="" LOCALCOMMAND=""/>
          <FILE FILENAME="..\BibliothequeOpBoolStatiqueRegain.lib" FORMNAME="" UNITNAME="BibliothequeOpBoolStatiqueRegain" CONTAINERID="LibTool" DESIGNCLASS="" LOCALCOMMAND=""/>
          <FILE FILENAME="..\BibliothequeSTLStatiqueRegain.lib" FORMNAME="" UNITNAME="BibliothequeSTLStatiqueRegain" CONTAINERID="LibTool" DESIGNCLASS="" LOCALCOMMAND=""/>
          <FILE FILENAME="..\BibliothequeVisualiseurStatique.lib" FORMNAME="" UNITNAME="BibliothequeVisualiseurStatique" CONTAINERID="LibTool" DESIGNCLASS="" LOCALCOMMAND=""/>
      </FILELIST>
      <BUILDTOOLS>
      </BUILDTOOLS>
     
      <IDEOPTIONS>
    [Version Info]
    IncludeVerInfo=0
    AutoIncBuild=0
    MajorVer=1
    MinorVer=0
    Release=0
    Build=0
    Debug=0
    PreRelease=0
    Special=0
    Private=0
    DLL=0
    Locale=1036
    CodePage=1252
     
    [Version Info Keys]
    CompanyName=
    FileDescription=
    FileVersion=1.0.0.0
    InternalName=
    LegalCopyright=
    LegalTrademarks=
    OriginalFilename=
    ProductName=
    ProductVersion=1.0.0.0
    Comments=
     
    [HistoryLists\hlIncludePath]
    Count=6
    Item0=$(BCB)\include;$(BCB)\include\vcl;..\Regain
    Item1=$(BCB)\include;$(BCB)\include\vcl;..\Conteneurs;..\..\..\..\Regain
    //J'ai supprimé des lignes ici pour le post sinon prob affichage et je pense //pas que ce soit important
     
    [HistoryLists\hlLibraryPath]
    Count=6
    Item0=$(BCB)\lib\obj;$(BCB)\lib;..\Regain
    Item1=$(BCB)\lib\obj;$(BCB)\lib;..\..\..\..\Regain
    Item2=$(BCB)\lib\obj;$(BCB)\lib;F:\Regain
    Item3=$(BCB)\lib\obj;$(BCB)\lib;..\..\..\BibliothequesRegain
    Item4=bidon;$(BCB)\lib\obj;$(BCB)\lib;..\..\..\..\BibliothequesRegain
    Item5=$(BCB)\lib\obj;$(BCB)\lib;..\..\..\..\BibliothequesRegain
     
    [HistoryLists\hlDebugSourcePath]
    Count=1
    Item0=$(BCB)\source\vcl
     
    [HistoryLists\hlIntOutputDir]
    Count=4
    Item0=..\FichiersTemporaires
    Item1=..\..\..\FichiersTemporaires
    Item2=..\..\..\..\FichiersTemporaires
    Item3=C:\FichiersTemporaires
     
    [HistoryLists\hlFinalOutputDir]
    Count=16
    Item0=..\FichiersTemporaires\
    Item1=..\FichiersTemporaires
    Item2=C:\Program Files\Borland\CBuilder4\FichiersTemporaires\
    Item3=..\FichiersTemporairesItem1=..\FichiersTemporairesItem1=..\..\..\FichiersTemporaires
    Item4=
    Item5=
    Item6=..\..\..\FichiersTemporairesItem1=..\..\..\FichiersTemporaires
    Item7=
    Item8=..\..\..\BibliothequesRegain
    Item9=F:\FichiersTemporairesItem1=F:\FichiersTemporaires
    Item10=
    Item11=..\..\..\FichiersTemporairesItem1=..\..\..\FichiersTemporairesItem1=..\..\..\FichiersTemporairesItem1=C:\FichiersTemporaires
    Item12=
    Item13=
    Item14=
    Item15=..\..\..\..\FichiersTemporaires
     
    [Debugging]
    DebugSourceDirs=
     
    [Parameters]
    RunParams=
    Launcher=
    UseLauncher=0
    DebugCWD=
    HostApplication=
    RemoteHost=
    RemotePath=
    RemoteLauncher=
    RemoteCWD=
    RemoteDebug=0
     
    [Compiler]
    ShowInfoMsgs=0
    LinkDebugVcl=0
    LinkCGLIB=0
     
    [CORBA]
    AddServerUnit=1
    AddClientUnit=1
    PrecompiledHeaders=1
     
    [Language]
    ActiveLang=
    ProjectLang=
    RootDir=
      </IDEOPTIONS>
    </PROJECT>
    Il n'y a aucune trace de fichiers du type xxx40.lib.
    J'ai vérifié dans le fichier .bpr avant mise à jour et dans celui ci il y en avait effectivement mais lors de l'importations les références ont automatiquement été enlevées.

    Maintenant je me suis peut etre trompé pour ce qui est de selectionner l'utilisation des paquets dans les options du projet.
    En effet j'ai une version de builder in english et je ne sais pas si j'ai choisi la bonne option.
    Ce que j'ai modifié c'est dans l'onglet "compiler" et la j'ai selectionné "use precompiled headers".
    Comme ca ne fonctionnait pas, j'ai été dans l'onglet "package" et j'ai décoché le "build with run time package" mais ca n'a pas plus marché.
    Enfin j'ai aussi été dans l'onglet "advanced linker" et j'ai coché l'option "Replace resources" mais ca n'a pas marché non plus.

    Quelque soit la modification que j'ai effectuée il m'a remis le message d'erreur de fichier VCLE40.lib manquant au moment du link.

    Est ce que je me suis trompé lorsqu'il fallait lui dire d'utliser les paquets ? Si oui pouvez vous svp me dire quelle est la bonne option à sélectionner?

    Sinon est ce que c'est parce que j'utilise des .lib qui ont eux été compilés avec une version anterieure que ca ne fonctionne pas ? En effet, le programme que j'essaye de compiler n'a pas pour but de recréer ces librairies mais seulement des les utiliser.

    En tout cas merci pour le temps passé à essayer de m'aider

    Edit, j'ai par curiosité été ouvrir un des fichiers .lib que j'essaye d'utiliser dans mon projet, et à l'interieur je peux trouver "vcle40.lib" a plusieurs endroits du fichier. J'ai comme le présentiment que c'est une mauvaise nouvelle, non ?

  7. #7
    Membre Expert
    Avatar de DjmSoftware
    Homme Profil pro
    Responsable de compte
    Inscrit en
    Mars 2002
    Messages
    1 044
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Responsable de compte
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 044
    Billets dans le blog
    1
    Par défaut
    bonjour,
    dans ton projet
    <LIBFILES value="..\BibliothequeZBufferStatique.lib ..\BibliothequeBRepStatiqueRegain.lib
    ..\BibliothequeConsoleStatique.lib ..\BibliothequeLGBStatiqueRegain.lib
    ..\BibliothequeMathematiqueStatique.lib
    ..\BibliothequeOpBoolStatiqueRegain.lib
    ..\BibliothequeSTLStatiqueRegain.lib ..\BibliothequeVisualiseurStatique.lib"/>
    toutes ces livrairies sont elle de toi
    si oui tu dois également ls recompiler sous c++builder6
    car elle contienne probablement ds liens vers vc40.lib
    cordialement
    vous trouverez mes tutoriels à l'adresse suivante: http://djmsoftware.developpez.com/
    je vous en souhaite une excellente lecture ...

    A lire : Les règles du forum

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 8
    Par défaut
    Citation Envoyé par DjmSoftware
    toutes ces livrairies sont elle de toi
    Non je ne dispose que des .h et des .lib comme je l'avais dit auparavant. Donc c'est bien ce que je pensais, je ne peux pas les utiliser dans l'état.
    Je vais essayer d'avoir des versions compilées pour la version 6 ou au pire je me procurerai la version 4 de builder.

    Merci pour tout

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

Discussions similaires

  1. Utiliser une classe .net dans C++Builder
    Par gandf dans le forum C++Builder
    Réponses: 0
    Dernier message: 06/04/2010, 23h12
  2. Réponses: 0
    Dernier message: 30/08/2007, 12h00
  3. Libraire OCR utilisable dans C++ Builder 6
    Par Tenguryu dans le forum C++Builder
    Réponses: 1
    Dernier message: 13/01/2007, 22h06
  4. Utilisation du XML dans C++Builder 6 Pro
    Par Faith's Fall dans le forum C++Builder
    Réponses: 15
    Dernier message: 08/03/2005, 15h08
  5. VCL de Crystal Report pour utilisation dans C++Builder
    Par dibak dans le forum C++Builder
    Réponses: 4
    Dernier message: 16/02/2004, 17h04

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