Enviado em 29/10/2010 - 20:55h
Olá, primeiramente eu tenho dois arquivos, o main.c, que faz a conexão com o banco de dados, e o cadastra.c, que faz o conteúdo do programa. Por enquanto o conteúdo deles é apenas:
main.c:
--------------------
#include <stdio.h>
#include <mysql/mysql.h>
#include "cadastra.c"
int main()
{
MYSQL conexao;
mysql_init(&conexao);
if(mysql_real_connect(&conexao, "localhost","root",
"root", "agenda", 0, NULL, 0))
{
printf("Conectado com sucesso!\n");
cadastra();
mysql_close(&conexao);
}
else
{
printf("Houve uma falha ao tentar conectar! \n");
printf("Erro: %d %s\n",mysql_errno(&conexao),
mysql_error(&conexao));
}
return (0);
}
--------------------
cadastra.c
--------------------
#include <stdio.h>
int cadastra()
{
int opc;
printf("\n\n\t\tMenu:\n");
printf("\t\t--------------\n");
printf("\t\t[1] Inserir\n",
"\t\t[2] Buscar\n",
"\t\t[3] Listar\n",
"\t\t[4] Remover\n",
"\t\t[0] Sair\n",
"\t\t\t>> ");
scanf("%d",&opc);
getchar();
return (0);
}
--------------------
Estou compilando com:
$ gcc main.c cadastra.c -lmysqlclient
E como erro tenho:
/tmp/ccb1WMtQ.o: In function `cadastra':
cadastra.c:(.text+0x0): multiple definition of `cadastra'
/tmp/cc4T11Df.o:main.c:(.text+0x0): first defined here
collect2: ld returned 1 exit status
Não tenho a mínima idéia do que pode ser. Alguém pode me ajudar ?
Outra coisa, para trabalhar com query's SQL na cadastra.c eu preciso declarar a biblioteca do mysql lá ? Pois eu já tenho no main.c.
Grato.
main.c:
--------------------
#include <stdio.h>
#include <mysql/mysql.h>
#include "cadastra.c"
int main()
{
MYSQL conexao;
mysql_init(&conexao);
if(mysql_real_connect(&conexao, "localhost","root",
"root", "agenda", 0, NULL, 0))
{
printf("Conectado com sucesso!\n");
cadastra();
mysql_close(&conexao);
}
else
{
printf("Houve uma falha ao tentar conectar! \n");
printf("Erro: %d %s\n",mysql_errno(&conexao),
mysql_error(&conexao));
}
return (0);
}
--------------------
cadastra.c
--------------------
#include <stdio.h>
int cadastra()
{
int opc;
printf("\n\n\t\tMenu:\n");
printf("\t\t--------------\n");
printf("\t\t[1] Inserir\n",
"\t\t[2] Buscar\n",
"\t\t[3] Listar\n",
"\t\t[4] Remover\n",
"\t\t[0] Sair\n",
"\t\t\t>> ");
scanf("%d",&opc);
getchar();
return (0);
}
--------------------
Estou compilando com:
$ gcc main.c cadastra.c -lmysqlclient
E como erro tenho:
/tmp/ccb1WMtQ.o: In function `cadastra':
cadastra.c:(.text+0x0): multiple definition of `cadastra'
/tmp/cc4T11Df.o:main.c:(.text+0x0): first defined here
collect2: ld returned 1 exit status
Não tenho a mínima idéia do que pode ser. Alguém pode me ajudar ?
Outra coisa, para trabalhar com query's SQL na cadastra.c eu preciso declarar a biblioteca do mysql lá ? Pois eu já tenho no main.c.
Grato.