Menu

i hate the Winsock.h.... HeLp...PlEaSe

2003-01-04
2012-09-26
  • Nobody/Anonymous

    have some problem with the copiler ( Dev-C 1.9.6.0 )

    This is the code ( without project ) :

    #include <windows.h>
    #include <winsock.h>
    #include <stdio.h>

    int main()
    {
        SOCKET miosock;
        sockaddr_in miosock_addr;
        WSADATA data;
        WORD p;
       

        int err=0;
        p=MAKEWORD(2,0);
        err=WSAStartup(p,&data);
        char ch;
        miosock=socket(PF_INET,SOCK_STREAM,0);
        miosock_addr.sin_family=PF_INET;
        miosock_addr.sin_port=htons(IPPORT_TELNET);
        miosock_addr.sin_addr.S_un.S_un_b.s_b1=127;    miosock_addr.sin_addr.S_un.S_un_b.s_b2=0;
        miosock_addr.sin_addr.S_un.S_un_b.s_b3=0;
        miosock_addr.sin_addr.S_un.S_un_b.s_b4=1;
        int lun=sizeof(struct sockaddr);
       

        err=connect(miosock,(struct sockaddr*)&miosock_addr,lun);

        char mess[100];
        int n=0;
        n=recv(miosock,mess,100,0);
        mess[n]=0;
        printf(mess);
        while(ch!=0x1b)
        {
            ch=getchar();
            send(miosock,&ch,1,0);
        }

        closesocket(miosock);
        return 0;
    }

    this is the copiler log:

    Executing  g++.exe...
    g++.exe "G:\Cpp\Esempi\Programmi Distribuiti\client telnet\Client.cpp" -o "G:\Cpp\Esempi\Programmi Distribuiti\client telnet\Client.exe"   -s  -I"C:\Dev-Cpp\include"  -I"C:\Dev-Cpp\include\g++-3"  -I"C:\Dev-Cpp\include"   -L"C:\Dev-Cpp\lib"
    C:\DOCUME~1\Spirit\IMPOST~1\Temp\ccKccaaa.o(.text+0x34)://G/Cpp/Esempi/Programmi Distribuiti/client telnet/Client.cpp: undefined reference to `WSAStartup@8'
    C:\DOCUME~1\Spirit\IMPOST~1\Temp\ccKccaaa.o(.text+0x4d)://G/Cpp/Esempi/Programmi Distribuiti/client telnet/Client.cpp: undefined reference to `socket@12'
    C:\DOCUME~1\Spirit\IMPOST~1\Temp\ccKccaaa.o(.text+0x65)://G/Cpp/Esempi/Programmi Distribuiti/client telnet/Client.cpp: undefined reference to `htons@4'
    C:\DOCUME~1\Spirit\IMPOST~1\Temp\ccKccaaa.o(.text+0x9f)://G/Cpp/Esempi/Programmi Distribuiti/client telnet/Client.cpp: undefined reference to `connect@12'
    C:\DOCUME~1\Spirit\IMPOST~1\Temp\ccKccaaa.o(.text+0xc8)://G/Cpp/Esempi/Programmi Distribuiti/client telnet/Client.cpp: undefined reference to `recv@16'
    C:\DOCUME~1\Spirit\IMPOST~1\Temp\ccKccaaa.o(.text+0x121)://G/Cpp/Esempi/Programmi Distribuiti/client telnet/Client.cpp: undefined reference to `send@16'
    C:\DOCUME~1\Spirit\IMPOST~1\Temp\ccKccaaa.o(.text+0x130)://G/Cpp/Esempi/Programmi Distribuiti/client telnet/Client.cpp: undefined reference to `closesocket@4'

    Execution terminated

    Someone suggested me to add the lib libws2_32.a.
    i insert it in Tool -> Compiler Option
    under
    <<< add the following commands when calling copiler >>>
    i write:
    -lws2_32

    i recompilate and it give me the same errors:

    Executing  g++.exe...
    g++.exe "G:\Cpp\Esempi\Programmi Distribuiti\client telnet\Client.cpp" -o "G:\Cpp\Esempi\Programmi Distribuiti\client telnet\Client.exe"   -lws2_32 -s  -I"C:\Dev-Cpp\include"  -I"C:\Dev-Cpp\include\g++-3"  -I"C:\Dev-Cpp\include"   -L"C:\Dev-Cpp\lib"
    C:\DOCUME~1\Spirit\IMPOST~1\Temp\ccwjcaaa.o(.text+0x34)://G/Cpp/Esempi/Programmi Distribuiti/client telnet/Client.cpp: undefined reference to `WSAStartup@8'
    C:\DOCUME~1\Spirit\IMPOST~1\Temp\ccwjcaaa.o(.text+0x4d)://G/Cpp/Esempi/Programmi Distribuiti/client telnet/Client.cpp: undefined reference to `socket@12'
    C:\DOCUME~1\Spirit\IMPOST~1\Temp\ccwjcaaa.o(.text+0x65)://G/Cpp/Esempi/Programmi Distribuiti/client telnet/Client.cpp: undefined reference to `htons@4'
    C:\DOCUME~1\Spirit\IMPOST~1\Temp\ccwjcaaa.o(.text+0x9f)://G/Cpp/Esempi/Programmi Distribuiti/client telnet/Client.cpp: undefined reference to `connect@12'
    C:\DOCUME~1\Spirit\IMPOST~1\Temp\ccwjcaaa.o(.text+0xc8)://G/Cpp/Esempi/Programmi Distribuiti/client telnet/Client.cpp: undefined reference to `recv@16'
    C:\DOCUME~1\Spirit\IMPOST~1\Temp\ccwjcaaa.o(.text+0x121)://G/Cpp/Esempi/Programmi Distribuiti/client telnet/Client.cpp: undefined reference to `send@16'
    C:\DOCUME~1\Spirit\IMPOST~1\Temp\ccwjcaaa.o(.text+0x130)://G/Cpp/Esempi/Programmi Distribuiti/client telnet/Client.cpp: undefined reference to `closesocket@4'

    Execution terminated

    [Linker error] undefined reference to `WSAStartup@8'
    [Linker error] undefined reference to `socket@12'
    [Linker error] undefined reference to `htons@4'
    [Linker error] undefined reference to `connect@12'
    [Linker error] undefined reference to `recv@16'
    [Linker error] undefined reference to `send@16'
    [Linker error] undefined reference to `closesocket@4'

     
    • Nobody/Anonymous

      What are you doing to link in the right library? 

      Your code compiles fine if I add to the compiler command line options:

      -lws2_32

      This has come up several times in the last few weeks

      Wayne

       
    • Nobody/Anonymous

      on menu tool --- >  compiler option
      under:
      add the following commands when calling copiler

       

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.