probleme de link [BCB6] - C - Programmation
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
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 ...
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 ?
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 ...
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(){
...
-----------------------------------------------------