URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 3294
[ Назад ]

Исходное сообщение
"проблема с компиляцией"

Отправлено Алексей , 18-Авг-04 13:38 
Всем привет. У меня такая проблема: пытаюсь создать соединение с сокетом. но ничего не получается, выдает:
/tmp/ccQVWKhq.o: In function `main':
/tmp/ccQVWKhq.o(.text+0x3c): undefined reference to `sizeeof'
collect2: ld returned 1 exit status
Вот листинг:
#include <stdio.h>
#include <sys/socket.h>
#include <sys/types.h>
#include <resolv.h>

#define PORT_TIME 13

int main()
{
    int sd,size;
    struct sockaddr_in dest;
    char *host = "127.0.0.1";

    sd = socket(PF_INET,SOCK_STREAM,0);

    bzero(&dest,sizeeof(dest));
    dest.sin_family = AF_INET;
    dest.sin_port = htons(PORT_TIME);
    inet_aton(host, &dest.sin_addr);

    size = sizeof(dest);
    if(connect(sd,(struct sockaddr *) &dest,size) >= 0)
    {
        perror("Socket connection!");
        abort();
    }
    else
    {
        perror("Socket not connection!");
    }
    return 0;
}


Содержание

Сообщения в этом обсуждении
"проблема с компиляцией"
Отправлено Soldier , 18-Авг-04 13:48 
>Всем привет. У меня такая проблема: пытаюсь создать соединение с сокетом. но
>ничего не получается, выдает:
>/tmp/ccQVWKhq.o: In function `main':
>/tmp/ccQVWKhq.o(.text+0x3c): undefined reference to `sizeeof'

sizeeof -  это круто, но вам этой функцией пользоваться еще рано, так
что попробуйте  пока sizeof

:)))


"проблема с компиляцией"
Отправлено Arifolth , 18-Авг-04 14:22 
>Всем привет. У меня такая проблема: пытаюсь создать соединение с сокетом. но
>ничего не получается, выдает:
>/tmp/ccQVWKhq.o: In function `main':
>/tmp/ccQVWKhq.o(.text+0x3c): undefined reference to `sizeeof'
>collect2: ld returned 1 exit status
>Вот листинг:
привет, привет =))
вот примерно так должно быть
мож где немного накосячил =)
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <signal.h>
#include <getopt.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <sys/time.h>
#include <sys/wait.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <netdb.h>
#include <errno.h>
>
>
int
main(int argc, char *argv[])
>{
int s = -1;
int size = 0;
>    struct sockaddr_in dest, src;
>
>    s = socket(PF_INET,SOCK_STREAM,0);
if((s = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP)) < 0)
         {
            perror("\nsocket not created");
            shutdown(s,0);
            close(s);
            exit(1);
         }
     dest.sin_family = AF_INET;
     dest.sin_port = htons(13);
     dest.sin_addr.s_addr = inet_addr("127.0.0.1");

     src.sin_family = AF_INET;
     src.sin_port = htons(0);
     src.sin_addr.s_addr = INADDR_ANY
>
if(bind(s, (struct sockaddr *) &src, sizeof(struct sockaddr_in)) <0)
         {
            perror("\nsocket bind");
            shutdown(s,0);
            close(s);
            exit(1);
         }
if (connect(s, (struct  sockaddr  *) &dest, sizeof(struct sockaddr_in)) < 0)
         {
        perror("connect to remote host");
            shutdown(s,0);
            close(s);
        exit(1);
         }

>    return 0;
>}