[BCB6] probleme de link

probleme de link [BCB6] - C - Programmation

Marsh Posté le 22-06-2003 à 13:39:03    

Bonojour à tous, je me met au langage C avec BCB6 et suis en face d'un probleme visiblement insoluble avec Google et la recherche du forum. J' en appelle donc à vos lumières.
Voila mon probleme :
Comment fait on pour linker un fichier sous BCB6 ?
mon prog commence par ca et ca me met un [lieur erreur] au moment de la compilation :
 
-----------------------------------------------------
#include <stdio.h>
#include <winsock2.h>
#include <string.h>
#pragma comment(lib, "ws2_32.lib" )
main(){
...
-----------------------------------------------------

Reply

Marsh Posté le 22-06-2003 à 13:39:03   

Reply

Marsh Posté le 22-06-2003 à 15:10:06    

Tu peux être plus précis quant au message d'erreur ?
 
Je ne connais pas C Builder, mais il doit bien y avoir une autre méthode que le pragma comment pour linker les libs ... tout du moins, je l'espère ....


---------------
last.fm
Reply

Marsh Posté le 22-06-2003 à 16:15:03    

Construction
  [Lieur Erreur] Unresolved external '__InitVCL' referenced from C:\BORLAND\CBUILDER6\LIB\CP32MTI.LIB|crtlvcl
  [Lieur Erreur] Unresolved external '__ExitVCL' referenced from C:\BORLAND\CBUILDER6\LIB\CP32MTI.LIB|crtlvcl
  [Lieur Erreur] Unresolved external 'WinMain' referenced from C:\BORLAND\CBUILDER6\LIB\C0W32.OBJ

Reply

Marsh Posté le 22-06-2003 à 16:27:37    

tu ne linkes qu'avec ws2_32.lib ? (j'ai eu quelques soucis avec cette lib, depuis, je passe par wsock32.lib)
 
clairement, il doit te manquer une petite lib au link ...
 
Tu n'inclus que les fichiers annoncés ci-dessus, ou tu inclus aussi d'autres .h ?
 
Edit : au pire, recherche bourrin : dans tous les fichiers "*.lib", tu recherches les noms des fonctions qui te manquent ... Si tu en trouves, ca te mettra peut-être sur une piste ...


Message édité par theshockwave le 22-06-2003 à 16:28:24

---------------
last.fm
Reply

Marsh Posté le 22-06-2003 à 16:40:31    

Je n'inclue pas d autre *.h mais je débute alors je peux me tromper. En tout cas, normalement, je dois avoir ceux dont j ai besoin.
afin d'être plus précis ds la problématique, voici le source :
 
--------------------------------------------------------
#include <stdio.h>
#include <winsock2.h>
#include <string.h>
#pragma comment(lib, "ws2_32.lib" )
main(){
 
//ouverture de socket
WSADATA WSAData;
WSAStartup(MAKEWORD(2,0), &WSAData);
SOCKET sock;
SOCKADDR_IN sin;
sin.sin_addr.s_addr = inet_addr("193.252.22.74" );
sin.sin_family  = AF_INET;
sin.sin_port  = htons(25);
sock = socket(AF_INET,SOCK_STREAM,0);
connect(sock, (SOCKADDR *)&sin, sizeof(sin));
 
//données a envoyer
char buff[50];
char bjr[50] = "EHLO TooN\n";
char mailfrom[50] = "MAIL FROM:<toto@wanadoo.fr>\r\n";
char rcptto[50] = "RCPT TO:<titi@wanadoo.fr>\r\n";
char data[50] = "DATA\r\n";
char texte[50] = "texte de test\r\n";
char fin[50] = ".\r\n";
char fermer[50] = "QUIT\r\n";
 
//envoi du mail
printf("%s", bjr);
send(sock, bjr, sizeof(bjr), 0);
recv(sock, buff, sizeof(buff), 0);
printf("%s\n", buff);
printf("%s", mailfrom);
send(sock, mailfrom, sizeof(mailfrom), 0);
recv(sock, buff, sizeof(buff), 0);
printf("%s\n", buff);
printf("%s", rcptto);
send(sock, rcptto, sizeof(rcptto), 0);
recv(sock, buff, sizeof(buff), 0);
printf("%s\n", buff);
printf("%s", data);
send(sock, data, sizeof(data), 0);
recv(sock, buff, sizeof(buff), 0);
printf("%s\n", buff);
printf("%s", texte);
send(sock, texte, sizeof(texte), 0);
recv(sock, buff, sizeof(buff), 0);
printf("%s\n", buff);
printf("%s", fin);
send(sock, fin, sizeof(fin), 0);
recv(sock, buff, sizeof(buff), 0);
printf("%s\n", buff);
printf("%s", fermer);
send(sock, fermer, sizeof(fermer), 0);
recv(sock, buff, sizeof(buff), 0);
printf("%s\n", buff);
 
//fermeture du socket
closesocket(sock);
WSACleanup();
}
----------------------------------------------------------
 
Y a t il une munipulation supplémentaire au niveau du gestionnaire du projet ou une copie de fichier .lib que je n aurais po mis au bon endroit ?

Reply

Marsh Posté le 22-06-2003 à 17:37:26    

TheTooN a écrit :

Y a t il une munipulation supplémentaire au niveau du gestionnaire du projet ou une copie de fichier .lib que je n aurais po mis au bon endroit ?


 
Je suppose que ton compilo te le dirait si il ne trouvait pas le .lib ... C'est le moins qu'il puisse faire !
 
cela dit, as-tu essayé de faire la recherche que je t'ai suggérée ?
Tu peux aussi essayer de linker wsock32.lib au lieu de ws2_32.lib :
#pragma comment(lib, "wsock32.lib" )
 
Pour ce qui est de l'autre manière de linker, ca dépend complètement du compilateur, donc je ne pourrai pas vraiment t'aider là-dessus ...


---------------
last.fm
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed