Dev Cpp

Тема в разделе "WASM.BEGINNERS", создана пользователем №0, 3 окт 2006.

  1. №0

    №0 New Member

    Публикаций:
    0
    Регистрация:
    27 июл 2006
    Сообщения:
    9
    Вот что пишет компилятор ,незнаю как исправить эту проблемму.Помогите пожалуйста.
    c:\docume~1\helius\0016~1\socket.cpp
    C:\DEV-C_~1\Include\winsock2.h:46: unbalanced `#endif'

    Бывает пишет и это:
    unresolved external symbol __imp__WSACleanup@0
    unresolved external symbol __imp__recv@16
    unresolved external symbol __imp__send@16
    unresolved external symbol __imp__connect@12
    unresolved external symbol __imp__socket@12
    unresolved external symbol __imp__htons@4
    unresolved external symbol __imp__inet_addr@4
    unresolved external symbol __imp__WSAStartup@8


    #include <stdio.h>
    #include <winsock2.h>

    int main(int argc, char* argv[])
    {
    WSADATA wsaData;
    WSAStartup(MAKEWORD(2, 0), &wsaData);

    SOCKET NewSocket;
    SOCKADDR_IN rmaddr;

    rmaddr.sin_addr.s_addr = inet_addr(argv[1]);
    rmaddr.sin_family = AF_INET;
    rmaddr.sin_port = htons(7766);
    NewSocket = socket (AF_INET,SOCK_STREAM,0);

    char buf[128]="";
    strcat(buf,argv[2]),strcat(buf," "),strcat(buf,argv[3]);
    connect(NewSocket,(struct sockaddr *)&rmaddr,sizeof(rmaddr));
    send(NewSocket, buf, 128, 0);

    if (argv[2][0]=='f'){
    while(true){
    char buffer[4096]="";
    recv(NewSocket, buffer, 4096, 0);
    printf(buffer);
    }
    }
    WSACleanup();
    return 0;
    }
     
  2. Bohdan200

    Bohdan200 New Member

    Публикаций:
    0
    Регистрация:
    13 сен 2005
    Сообщения:
    134
    Адрес:
    Lviv
    (1) Пробуй зделать #include "Winsock2.h" первим инклудом в проге (для MSVC++)
    (2) #pragma comment (lib ,"ws2_32.lib") или в командную строчку линковщика дописать ws2_32.lib если не помагает
     
  3. №0

    №0 New Member

    Публикаций:
    0
    Регистрация:
    27 июл 2006
    Сообщения:
    9
    а такое пойдёт на Dev C++?
     
  4. Bohdan200

    Bohdan200 New Member

    Публикаций:
    0
    Регистрация:
    13 сен 2005
    Сообщения:
    134
    Адрес:
    Lviv
    Эт для MSVC++, как я понял у тебя GCC? Там не знаю как, но аналоги есть точно.
     
  5. №0

    №0 New Member

    Публикаций:
    0
    Регистрация:
    27 июл 2006
    Сообщения:
    9
    Ну вот сейчас я попробовал в VC++ всё скомпилилось но вот только в самой программульке ошика ну типо отсылась отчёт или нет,я компилю как reliase
     
  6. Bohdan200

    Bohdan200 New Member

    Публикаций:
    0
    Регистрация:
    13 сен 2005
    Сообщения:
    134
    Адрес:
    Lviv
    может так:
    Код (Text):
    1.     char buf[128]="";
    2. ....
    3.     send(NewSocket, &buf, 128, 0);
    4.  
    5.     char buffer[4096]="";
    6. .....
    7.     recv(NewSocket, &buffer, 4096, 0);
    8.     printf(&buffer[0]);
    9.         }
    10.     }
     
  7. shurik

    shurik Александр

    Публикаций:
    0
    Регистрация:
    27 авг 2006
    Сообщения:
    52
    Адрес:
    Украина
    В Dev-C++ в опциях проекта в закладке "Parameters" надо добавить файл libws2_32.a в папке с библиотеками (lib) и ошибки unresolved external symbol .... исчезнут.
     
  8. №0

    №0 New Member

    Публикаций:
    0
    Регистрация:
    27 июл 2006
    Сообщения:
    9
    Спасибо