1

Bonjour,

Debutant en C/C++ et BCB5, je n'arrive pas a generer un .LIB qui fonctionne.
Voila comment je procède (d'abord, j'ai teste ce petit programme ( une application console) dans un seul fichier .cpp et il fonctionne sans probleme.) :

Dans "New Items" je choisis "Library"
Dans un fichier nomme : "Ville.bpf" j'entrei le code suivant :
==================
Code:
#include <vcl.h>
#pragma hdrstop
#define Library

// To add a file to the library use the Project menu 'Add to Project'.
#include "Ville.h"
#include <cstdio>
#include <iostream>
#include <cctype>

void FixeNom(char leNom[], Ville & laVille) {
int k=0;
while ( leNom[k] != '\0' && k <= LONGUEUR_MAX) {
laVille.NomVille[k] = toupper(leNom[k]);
k = k + 1 ;
}
laVille.NomVille[k] = '\0';
}

int VerifierPopulation(int leNombre) {
if (leNombre <= 0) {
cerr << "VérifierPopulation : le nombre doit être > 0";
exit(1);
}
return leNombre;
}

string Chaine(Ville laVille) {
string resultat = "Ville(";
resultat += laVille.NomVille;
resultat += ", ";
{ char valeurPopulation[25];
sprintf(valeurPopulation, "%ld", laVille.Population);
resultat += valeurPopulation;
}
resultat += ') ';
return resultat;
}

===================

Puis un "Compile" : aucun resultat en sortie
Puis un "Build" : en sortie un fichier "Ville.lib" qui semble vide : 1 Ko

Le fichier header "Ville.h" :

=================
Code:
#include <string>
using namespace std;

#define LONGUEUR_MAX 26

struct Ville {
char NomVille[LONGUEUR_MAX+1];
int Population;
};

void FixeNom(char leNom[], Ville & laVille);

int VerifierPopulation(int leNombre);

string Chaine(Ville laVille);


================

Puis je copie : "Ville.h" et "Ville.lib" dans un nouveau projet dont le source "Ville.cpp" est :

===============
Code:
#pragma hdrstop
#include "Ville.h"
//#include <cstdio>
#include <iostream>
//#include <cctype>

int main()
{
Ville vA = {"Lyon"}, vB ={"AIX LES BAINS"};
int nA=10, nB=20;
vA.Population = VerifierPopulation(nA);
vB.Population = VerifierPopulation(nB);

FixeNom("marseille",vA);
cout<<"laVille = "<<vA.NomVille<<" - Population = "<<vA.Population<<endl;
string chn = Chaine(vA);
if (chn.length() <= 26)
cout << Chaine(vA);
else
cout << vA.NomVille;

return 0;
}

==============
La compilation de "Ville.cpp" se deroule sans message d'erreur et donne un "Ville.obj"
Puis le "Build project" donne les messages d'erreur suivant:

=====
[Linker Error] Unresolved external 'VerifierPopulation(int)' referenced from D:\TEST\UNIT1.OBJ
[Linker Error] Unresolved external 'FixeNom(char *, Ville&)' referenced from D:\TEST\UNIT1.OBJ
[Linker Error] Unresolved external 'Chaine(Ville)' referenced from D:\TEST\UNIT1.OBJ
======

D'ou vient ce probleme ?

Merci de votre aide
Didier

2

BCB5 c'est koa comme compilateur? et sous quel systeme d'exploitation?
Si dieux existe alors Armin van Buuren en est 1!!
Pour me contacter sur msn:mastergb@hotmail.com

3

je dirai bien Borland C Builder 5 smile
avatar
Tutorial C (TI-89/92+/v200) - Articles Développement Web (PHP, Javascript, ...)
« What is the sound of Perl? Is it not the sound of a wall that people have stopped banging their heads against? » - Larry Wall

4

Ah j'aurais bien voulut t'aider mais moa mon dada c'est VC++
désolé
Si dieux existe alors Armin van Buuren en est 1!!
Pour me contacter sur msn:mastergb@hotmail.com

5

Entre ton code dans un fichier cpp, pas dans un fichier bpf.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité