como compilar client.c

Iniciado por helderam, 13 de Março de 2008, 16:47

tópico anterior - próximo tópico

helderam

Ao compilar o client.c aparece as seguintes mensagens de erro:

helder@ubuntu:~/bin$ gcc client.c
client2.c:1:19: erro: stdio.h: Arquivo ou diretório inexistente
client2.c:2:20: erro: string.h: Arquivo ou diretório inexistente
client2.c:3:20: erro: stdlib.h: Arquivo ou diretório inexistente
client2.c:4:19: erro: errno.h: Arquivo ou diretório inexistente
client2.c:5:24: erro: sys/socket.h: Arquivo ou diretório inexistente
client2.c:6:23: erro: arpa/inet.h: Arquivo ou diretório inexistente
client2.c: In function 'main':
client2.c:11: error: storage size of 'servaddr' isn't known


segue o fonte:



/* client.c */

#include<sys/socket.h>
#include<sys/types.h>
#include<netinet/in.h>
#include<unistd.h>
#include<stdlib.h>
#include<stdio.h>

main(int argc,char *argv[])
{
   int create_socket;
   int bufsize = 1024;
   char *buffer = malloc(bufsize);
   struct sockaddr_in address;
 
   printf("\x1B[2J");
   if ((create_socket = socket(AF_INET,SOCK_STREAM,0)) > 0)
     printf("The Socket was created\n");
   address.sin_family = AF_INET;
   address.sin_port = htons(15000);
   inet_pton(AF_INET,argv[1],&address.sin_addr);
 
   if (connect(create_socket,(struct sockaddr *)&address,sizeof(address)) == 0)
     printf("The connection was accepted with the server %s...\n",inet_ntoa(address.sin_addr));
   do{
      recv(create_socket,buffer,bufsize,0);
      printf("Message recieved: %s\n",buffer);
      if (strcmp(buffer,"/q")){
    printf("Message to send: ");
    gets(buffer);
    send(cria_socket,buffer,bufsize,0);
      }
   }while (strcmp(buffer,"/q"));
   close(create_socket);
}


Helder Afonso de Morais
Desenvolvedor de Sistemas

csat

Instale os kernel headers referente a sua versão de kernel.  Procure no gerenciador de pacotes.
Csat (Ubuntu 8.04)

Linux User #205394 ** Ubuntu User #19086

helderam

Blz.

COnsegui compilar. Mas nao gerou o executavel .


Qual o comando para gera o executavel ?

O Client.c gerou um erro :
helder@ubuntudesenv:~/bin$ gcc client.c
client.c: In function 'main':
client.c:32: error: 'cria_socket' undeclared (first use in this function)
client.c:32: error: (Each undeclared identifier is reported only once
client.c:32: error: for each function it appears in.)
helder@ubuntudesenv:~/bin$
Helder Afonso de Morais
Desenvolvedor de Sistemas

csat

Dê uma olhada nos comandos e parâmetros do compilador C.  Provavelmente você precisa especificar mais alguma coisa para ele gerar o executavel.  Raramente uso o gcc pois quando tem que compilar alguma coisa já vem pronto com o Makefile e nesse caso basta digitar make para compilar e link-editar.

Csat (Ubuntu 8.04)

Linux User #205394 ** Ubuntu User #19086

tfmoraes

Cara, a variavel cria_socket não existe, é só trocar por create_socket que é a variavel que você criou no começo.

clcampos

Tópico movido para Programação e Scripts.
Cristiano/Timóteo - MG
.: Como Fazer Perguntas de Forma Inteligente :.                
Com dúvida? pesquise!

kcnp

#6
Cara, num tá faltando um -o no teu comando de compilação não?

tenta gcc -o client client.c
kcnp