Undefined reference to 'ret_Espacos' e undefined reference to 'obter_nToken'

1. Undefined reference to 'ret_Espacos' e undefined reference to 'obter_nToken'

Filipe de Jesus Lobato
FJLobato

(usa CentOS)

Enviado em 15/02/2016 - 15:32h

Olá, galera ! Tenho o bem básico do C mesmo, meu supervisor me deu esse código só que não está executando de forma alguma. Tá dando o seguinte erro: "C:\Users\Filipe\AppData\Local\Temp\ccgYJGug.o pop_Alarmes.c:(.text+0x1569): undefined reference to `ret_Espacos' " e também está dando esse "C:\Users\Filipe\AppData\Local\Temp\ccgYJGug.o pop_Alarmes.c:(.text+0x155d): undefined reference to `obter_nToken'" .

Qual seria o problema? Não tenho noção do que seja... Desde já, agradeço.

 // Obter a Descrição do Alarme
j = 0;
for(i=aux; i<col1; i++){
descricao[j++] = linha_arquivo[i];
}
descricao[j] = '\0';
ret_Espacos(descricao);

// Obter o Tipo de Alarme
j = 0;
for(i=col1; i<125; i++){
tipo[j++] = linha_arquivo[i];
}
tipo[j] = '\0';
ret_Espacos(tipo);

// Obter a ocorrenciarmação do arquivo
j = 0;
for(i=125; i<155; i++){
ocorrencia[j++] = linha_arquivo[i];

}
ocorrencia[j] = '\0';
ret_Espacos(ocorrencia);


// Para cada linha do arquivo ocorre a chamada a funcao dependendo do metodo de insercao utilizado
// que se utiliza das variaveis idAlrm, nome_equip, descricao, tipo, ocorrencia, horario, data e as insere no banco
switch( enum_metodo_insercao){

case COPY:
cria_arqCOPY_alarmes();
break;
case INSERT:
cria_arqINSERT_alarmes();
break;
default:
printf("Comando desconhecido. ");
break;
}
// Pega outra linha do arquivo
fgets(linha_arquivo,1000,arq_alarmes);
}

if( enum_metodo_insercao == COPY ) {
fclose(arq_COPY);
}

fclose(arq_alarmes);
fclose(arq_SQL);

} // fim da função pop_Alarmes */



void pop_Equip_open(){

//printf("\n\nNewton");

if( (arq_SQL = fopen(path_arq_cmdsql,"w")) == NULL) {
printf("Erro ao criar arquivo de saida contendo o SQL\n");
exit(1);
}
if( enum_metodo_insercao == COPY ){
if((arq_COPY = fopen(path_arq_logCOPY,"w")) == NULL){
printf("Erro ao criar arquivo de log_COPY\n");
exit(1);
}
if((arq_COPY2 = fopen(path_arq_logCOPY2,"w")) == NULL){
printf("Erro ao criar arquivo de log_COPY2\n");
exit(1);
}//*/
}

pop_Alarmes_csv(1);
pop_Alarmes_csv(2);
pop_Alarmes_csv(3);
pop_Alarmes_csv(4);

criar_Tabela_Arquivo_SAGE();
cria_arqSQLCopy_csv();

fclose(arq_SQL);

if( enum_metodo_insercao == COPY ){
fclose(arq_COPY);
fclose(arq_COPY2);
}

} // fim

int pop_Alarmes_csv(int n){

char aux1[100];
char query[1024];
char linha_arquivo[10001];
char linha_newton[10001];
char path_arquivo_alarmes_aux[1000];

int aux, i, j;
int flag_subes_exist;

strcpy(path_arquivo_alarmes_aux, path_arquivo_alarmes);
snprintf (aux1, sizeof(aux1),"-%d.csv", n);
strcat(path_arquivo_alarmes_aux ,aux1);

// Abrindo o arquivo de Alarmes
if( (arq_alarmes = fopen(path_arquivo_alarmes_aux,"r")) == NULL) {
printf("Erro ao tentar abrir arquivo de alarmes.\nARQUIVO - %s\tPATH - %s\n",_NOME_ARQUIVO, path_arquivo_alarmes_aux);
return;
}
for(i = 0; i<=7; i++){
fgets(linha_arquivo,1000,arq_alarmes);
}

i = 0;
while( !feof(arq_alarmes) ) {

printf("\n [a] i - %d || strlen(linha_arquivo) = %d || linha_arquivo - %s",i,strlen(linha_arquivo),linha_arquivo);

if( strcmp(linha_arquivo, "\n")==0 ){ break;}
strcpy( nome_equip_aux, strtok(linha_arquivo,";"));

if(strcmp(nome_equip_aux, "") ==0 ) { break;}
else strcpy(nome_equip_csv[i], nome_equip_aux);

ret_Espacos(nome_equip_csv[i]);

strcpy( descricao_csv[i], strtok(NULL, ";"));
ret_Espacos(descricao_csv[i]);

// Pega outra linha do arquivo
strcpy( limit1[i], strtok(NULL, ";"));
ret_Espacos(limit1[i]);

strcpy( limit2[i], strtok(NULL, ";"));
ret_Espacos(limit2[i]);

strcpy( limit3[i], strtok(NULL, ";"));
ret_Espacos(limit3[i]);

strcpy( limit4[i], strtok(NULL, ";"));
ret_Espacos(limit4[i]);

strcpy( limit5[i], strtok(NULL, ";"));
ret_Espacos(limit5[i]);

strcpy( limit6[i], strtok(NULL, ";"));
ret_Espacos(limit6[i]);

snprintf (query, sizeof(query),"%s$%s$%s$%$s$%s$%s$%s$%s", nome_equip_csv[i], descricao_csv[i], limit1,limit2, limit3, limit4, limit5, limit6);
fprintf( arq_COPY2,"%s\n",query);
fgets(linha_arquivo,1000,arq_alarmes);
i++;
}
fgets(linha_arquivo, 10000, arq_alarmes);
fgets(linha_arquivo, 10000, arq_alarmes);

while( !feof(arq_alarmes) ) {

if(strcmp(linha_arquivo, "\n")==0) break;

strcpy(horario, strtok(linha_arquivo, ";"));
ret_Espacos(horario);

j = 0;
strcpy(valor, strtok(NULL, ";"));
while(valor != NULL && j<i ){

ret_Espacos(valor);
snprintf (query, sizeof(query),"%s$%s$%s", horario, nome_equip_csv[j], valor );
fprintf( arq_COPY,"%s\n",query);
j++;
if(j<i) strcpy(valor, strtok(NULL, ";"));
}
fgets(linha_arquivo, 10000, arq_alarmes);
}
fclose(arq_alarmes);

return 1;
}

void pop_Alarmes_pas(){

char linha_arquivo[1001];
char query[1024];
int flag_subes_exist;
int aux, i, j;

// Abrindo o arquivo de Alarmes
if( (arq_alarmes = fopen(path_arquivo_alarmes,"r")) == NULL) {
printf("Erro ao tentar abrir arquivo de alarmes.\nARQUIVO - %s\tPATH - %s\n",_NOME_ARQUIVO, path_arquivo_alarmes);
exit(1);
}
if( (arq_SQL = fopen(path_arq_cmdsql,"w")) == NULL) {
printf("Erro ao criar arquivo de saida contendo o SQL\n");
exit(1);
}
if( enum_metodo_insercao == COPY ){
if((arq_COPY = fopen(path_arq_logCOPY,"w")) == NULL){
printf("Erro ao criar arquivo de log_COPY\n");
exit(1);
}
}

criar_Tabela_Arquivo_SAGE();

// insere dados no postgres utilizando o comando copy
if ( enum_metodo_insercao == COPY ) {
cria_arqSQLCopy_pas();
}

if( !feof(arq_alarmes) ) {
fgets(linha_arquivo,1000,arq_alarmes);
obter_nToken(linha_arquivo,horario,4);
}
if(!feof(arq_alarmes)) fgets(linha_arquivo,1000,arq_alarmes);
if(!feof(arq_alarmes)) fgets(linha_arquivo,1000,arq_alarmes);

i = 0;
while( !feof(arq_alarmes) ) {
if(linha_arquivo[0]=='h'){
obter_nToken(linha_arquivo,horario,4);
ret_Espacos(horario);
break;
}
obter_nToken(linha_arquivo,nome_equip_pas[i],2);
ret_Espacos(nome_equip_pas[i]);

fgets(linha_arquivo,1000,arq_alarmes);
i++;
}

j = 0;
while( !feof(arq_alarmes)){

if(linha_arquivo[0]=='h'){

obter_nToken(linha_arquivo,horario,2);
ret_Espacos(horario);
fgets(linha_arquivo,1000,arq_alarmes);
j=0;
continue;
}
obter_nToken(linha_arquivo,valor,2);
ret_Espacos(valor);
if(strcmp("*",valor)==0 || strcmp("",valor)==0)
strcpy(valor,"-10000");

strcpy(nome_equip_aux, nome_equip_pas[j]);
switch( enum_metodo_insercao){

case COPY:
cria_arqCOPY_pas();
break;
case INSERT:
cria_arqINSERT_pas();
break;
default:
printf("Comando desconhecido. ");
break;
}
j++;
if(j>i) break;
fgets(linha_arquivo,1000,arq_alarmes);
}

fclose(arq_COPY);
fclose(arq_alarmes);
fclose(arq_SQL);

} // */



  






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts