Miren intento crear un programa que me conecte 2 ordenadores
El codico de client.c es:
Código
// cliente.cpp: define el punto de entrada de la aplicación de consola. // #include <windows.h> #include <stdio.h> #include <stdlib.h> int main(){ char SendBuff[512],RecvBuff[512]; WSADATA wsaData; SOCKET conn_socket; struct sockaddr_in server; struct hostent *hp; int resp; char adres[12]="192.168.1.6"; unsigned long uadres; resp=WSAStartup(MAKEWORD(1,0),&wsaData); if(resp){ return -1; } hp=(struct hostent *)gethostbyaddr (adres,sizeof(adres),AF_INET); if(!hp){ return -1; } conn_socket=socket(AF_INET,SOCK_STREAM, 0); if(conn_socket==INVALID_SOCKET) { return -1; } memcpy(&server.sin_addr, hp->h_addr, hp->h_length); //copia la los datos de conexion a la mascara server server.sin_family = hp->h_addrtype; server.sin_port = htons(5555); if(connect(conn_socket,(struct sockaddr *)&server,sizeof(server))==SOCKET_ERROR){ closesocket(conn_socket); return -1; } //Enviamos y recibimos datos... send(conn_socket,SendBuff,sizeof(SendBuff),0); recv(conn_socket,RecvBuff, sizeof(RecvBuff), 0); // Cerramos el socket y liberamos la DLL de sockets closesocket(conn_socket); WSACleanup(); return EXIT_SUCCESS; }
El programa client.c que intento compilar en Microsoft Visual Studio 2008 me saca un errores del linker;
Código:
1>------ Operación Generar iniciada: proyecto: client, configuración: Debug Win32 ------
1>Vinculando...
1>client.obj : error LNK2019: símbolo externo _WSACleanup@0 sin resolver al que se hace referencia en la función _main
1>client.obj : error LNK2019: símbolo externo _recv@16 sin resolver al que se hace referencia en la función _main
1>client.obj : error LNK2019: símbolo externo _send@16 sin resolver al que se hace referencia en la función _main
1>client.obj : error LNK2019: símbolo externo _strcpy sin resolver al que se hace referencia en la función _main
1>client.obj : error LNK2019: símbolo externo _inet_ntoa@4 sin resolver al que se hace referencia en la función _main
1>client.obj : error LNK2019: símbolo externo _closesocket@4 sin resolver al que se hace referencia en la función _main
1>client.obj : error LNK2019: símbolo externo _connect@12 sin resolver al que se hace referencia en la función _main
1>client.obj : error LNK2019: símbolo externo _htons@4 sin resolver al que se hace referencia en la función _main
1>client.obj : error LNK2019: símbolo externo _memcpy sin resolver al que se hace referencia en la función _main
1>client.obj : error LNK2019: símbolo externo _memset sin resolver al que se hace referencia en la función _main
1>client.obj : error LNK2019: símbolo externo _socket@12 sin resolver al que se hace referencia en la función _main
1>client.obj : error LNK2019: símbolo externo _gethostbyaddr@12 sin resolver al que se hace referencia en la función _main
1>client.obj : error LNK2019: símbolo externo __imp__getchar sin resolver al que se hace referencia en la función _main
1>client.obj : error LNK2019: símbolo externo __imp__printf sin resolver al que se hace referencia en la función _main
1>client.obj : error LNK2019: símbolo externo _WSAStartup@8 sin resolver al que se hace referencia en la función _main
1>client.obj : error LNK2019: símbolo externo ___security_cookie sin resolver al que se hace referencia en la función _main
1>client.obj : error LNK2019: símbolo externo @__security_check_cookie@4 sin resolver al que se hace referencia en la función _main
1>client.obj : error LNK2019: símbolo externo @_RTC_CheckStackVars@8 sin resolver al que se hace referencia en la función _main
1>client.obj : error LNK2019: símbolo externo __RTC_CheckEsp sin resolver al que se hace referencia en la función _main
1>client.obj : error LNK2001: símbolo externo __RTC_Shutdown sin resolver
1>client.obj : error LNK2001: símbolo externo __RTC_InitBase sin resolver
1>LINK : error LNK2001: símbolo externo _mainCRTStartup sin resolver
1>C:\Documents and Settings\Antonio\Mis documentos\Visual Studio 2008\Projects\client\Debug\client.exe : fatal error LNK1120: 22 externos sin resolver
1>El registro de compilación se guardó en el "file://c:\Documents and Settings\Antonio\Mis documentos\Visual Studio 2008\Projects\client\client\Debug\BuildLog.htm"
1>client - 23 errores, 0 advertencias
========== Generar: 0 correctos, 1 incorrectos, 0 actualizados, 0 omitidos ==========
Entonces he intentado entrar en herramientas->opciones->VC++ e incluir las librerias que me faltan, dando la ruta completa a la libreria windows.h en archivos de inclusion,
tengo una carpeta que se llama Microsoft SDKs->Windows dentro de esta carpeta tengo otras 2 una es v5.0 y la otra v6.0A en las 2 hay archivos de encabezado pero en la carpeta de v6.0A ademas hay mas cosas como una carpeta bin con varios programas. Intente incluiendo las rutas de las 2 carpetas, despues lei que puede que hubiera conflictos al tener las 2 carpetas un windows.h entonces probe con las 2 por separado, pero el problema persiste. Ya en un acto de desesperacion instale Dev-Cpp para probar, pero ahi tambien me da algo parecido
Código:
C:\Dev-Cpp\Bin\..\lib\gcc\mingw32\3.4.2\..\..\..\..\mingw32\bin\ld.exe: warning: cannot find entry symbol _mainCRTStartup; defaulting to 00401000
C:\DOCUME~1\Antonio\CONFIG~1\Temp/cc4ucaaa.o(.text+0x2a):cliente.c: undefined reference to `_alloca'
C:\DOCUME~1\Antonio\CONFIG~1\Temp/cc4ucaaa.o(.text+0x2f):cliente.c: undefined reference to `__main'
C:\DOCUME~1\Antonio\CONFIG~1\Temp/cc4ucaaa.o(.text+0x66):cliente.c: undefined reference to `WSAStartup@8'
C:\DOCUME~1\Antonio\CONFIG~1\Temp/cc4ucaaa.o(.text+0x84):cliente.c: undefined reference to `printf'
C:\DOCUME~1\Antonio\CONFIG~1\Temp/cc4ucaaa.o(.text+0x89):cliente.c: undefined reference to `getchar'
C:\DOCUME~1\Antonio\CONFIG~1\Temp/cc4ucaaa.o(.text+0xb6):cliente.c: undefined reference to `gethostbyaddr@12'
C:\DOCUME~1\Antonio\CONFIG~1\Temp/cc4ucaaa.o(.text+0xd4):cliente.c: undefined reference to `printf'
C:\DOCUME~1\Antonio\CONFIG~1\Temp/cc4ucaaa.o(.text+0xd9):cliente.c: undefined reference to `getchar'
C:\DOCUME~1\Antonio\CONFIG~1\Temp/cc4ucaaa.o(.text+0x104):cliente.c: undefined reference to `socket@12'
C:\DOCUME~1\Antonio\CONFIG~1\Temp/cc4ucaaa.o(.text+0x122):cliente.c: undefined reference to `printf'
C:\DOCUME~1\Antonio\CONFIG~1\Temp/cc4ucaaa.o(.text+0x127):cliente.c: undefined reference to `getchar'
C:\DOCUME~1\Antonio\CONFIG~1\Temp/cc4ucaaa.o(.text+0x154):cliente.c: undefined reference to `memset'
C:\DOCUME~1\Antonio\CONFIG~1\Temp/cc4ucaaa.o(.text+0x182):cliente.c: undefined reference to `memcpy'
C:\DOCUME~1\Antonio\CONFIG~1\Temp/cc4ucaaa.o(.text+0x19f):cliente.c: undefined reference to `htons@4'
C:\DOCUME~1\Antonio\CONFIG~1\Temp/cc4ucaaa.o(.text+0x1c9):cliente.c: undefined reference to `connect@12'
C:\DOCUME~1\Antonio\CONFIG~1\Temp/cc4ucaaa.o(.text+0x1dd):cliente.c: undefined reference to `printf'
C:\DOCUME~1\Antonio\CONFIG~1\Temp/cc4ucaaa.o(.text+0x1eb):cliente.c: undefined reference to `closesocket@4'
C:\DOCUME~1\Antonio\CONFIG~1\Temp/cc4ucaaa.o(.text+0x20b):cliente.c: undefined reference to `inet_ntoa@4'
C:\DOCUME~1\Antonio\CONFIG~1\Temp/cc4ucaaa.o(.text+0x21e):cliente.c: undefined reference to `printf'
C:\DOCUME~1\Antonio\CONFIG~1\Temp/cc4ucaaa.o(.text+0x234):cliente.c: undefined reference to `strcpy'
C:\DOCUME~1\Antonio\CONFIG~1\Temp/cc4ucaaa.o(.text+0x240):cliente.c: undefined reference to `printf'
C:\DOCUME~1\Antonio\CONFIG~1\Temp/cc4ucaaa.o(.text+0x268):cliente.c: undefined reference to `send@16'
C:\DOCUME~1\Antonio\CONFIG~1\Temp/cc4ucaaa.o(.text+0x281):cliente.c: undefined reference to `printf'
C:\DOCUME~1\Antonio\CONFIG~1\Temp/cc4ucaaa.o(.text+0x28d):cliente.c: undefined reference to `printf'
C:\DOCUME~1\Antonio\CONFIG~1\Temp/cc4ucaaa.o(.text+0x2b5):cliente.c: undefined reference to `recv@16'
C:\DOCUME~1\Antonio\CONFIG~1\Temp/cc4ucaaa.o(.text+0x2ce):cliente.c: undefined reference to `printf'
C:\DOCUME~1\Antonio\CONFIG~1\Temp/cc4ucaaa.o(.text+0x2d3):cliente.c: undefined reference to `getchar'
C:\DOCUME~1\Antonio\CONFIG~1\Temp/cc4ucaaa.o(.text+0x2e1):cliente.c: undefined reference to `closesocket@4'
C:\DOCUME~1\Antonio\CONFIG~1\Temp/cc4ucaaa.o(.text+0x2e9):cliente.c: undefined reference to `WSACleanup@0'
collect2: ld returned 1 exit status
gcc.exe: unrecognized option `-verbose'
Ejecución Terminada
Estoy bastante frustrado con esto, solo necesito compilar algo en windows por que en linux el server me funciona i no se que mas hacer.
Donde esta mi error????
Que es lo que hago mal???
Gracias de antemano por su tiempo