Autor Tópico: como compilar client.c  (Lida 2929 vezes)

Offline helderam

  • Usuário Ubuntu
  • *
  • Mensagens: 49
    • Ver perfil
    • HMInfo
como compilar client.c
« Online: 13 de MAR?O de 2008, 16:47 »
Ao compilar o client.c aparece as seguintes mensagens de erro:
Código: [Selecionar]
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:

Código: [Selecionar]

/* 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

Offline csat

  • Usuário Ubuntu
  • *
  • Mensagens: 1.647
    • Ver perfil
Re: como compilar client.c
« Resposta #1 Online: 16 de MAR?O de 2008, 01:44 »
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

Offline helderam

  • Usuário Ubuntu
  • *
  • Mensagens: 49
    • Ver perfil
    • HMInfo
Re: como compilar client.c
« Resposta #2 Online: 16 de MAR?O de 2008, 17:20 »
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

Offline csat

  • Usuário Ubuntu
  • *
  • Mensagens: 1.647
    • Ver perfil
Re: como compilar client.c
« Resposta #3 Online: 16 de MAR?O de 2008, 18:43 »
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

Offline tfmoraes

  • Usuário Ubuntu
  • *
  • Mensagens: 441
    • Ver perfil
Re: como compilar client.c
« Resposta #4 Online: 21 de MAR?O de 2008, 17:44 »
Cara, a variavel cria_socket não existe, é só trocar por create_socket que é a variavel que você criou no começo.

Offline clcampos

  • Administrador
  • Usuário Ubuntu
  • *****
  • Mensagens: 10.790
  • .:: User Linux #439596 ::.
    • Ver perfil
Re: como compilar client.c
« Resposta #5 Online: 21 de MAR?O de 2008, 23:33 »
Tópico movido para Programação e Scripts.
Cristiano/Timóteo - MG
.: Como Fazer Perguntas de Forma Inteligente :.                
Com dúvida? pesquise!

Offline kcnp

  • Usuário Ubuntu
  • *
  • Mensagens: 88
    • Ver perfil
Re: como compilar client.c
« Resposta #6 Online: 25 de MAR?O de 2008, 00:47 »
Cara, num tá faltando um -o no teu comando de compilação não?

tenta gcc -o client client.c
« Última modificação: 25 de MAR?O de 2008, 00:51 por kcnp »
kcnp