FJLobato 
		 
		(usa CentOS)
		 
		Enviado em 17/02/2016 - 00:15h 
		Thihup escreveu: 
 
Olá, pelo que percebi você utilizou o strcmp(...,"WINDOWS") == 1 , sendo que valores diferentes de zero representam strings diferentes. E nos trechos do windows acho que você deveria trocar todas as ocorrencias '/'  por '\\'  .  
 
E sobre os erros de linkagem com apenas esse trecho do código é impossível identificar o erro. Por gentileza, poste o código todo. 
 
Espero ter ajudado 
 
[]'s 
 
T+ 
 
-- 
 
Att, 
 
Thiago Henrique Hüpner 
 
(Mensagem scaneada pelo antivírus........ops! não precisa, afinal eu uso Linux!) 
 
Verdade, esqueci de trocar o "\\" mas no caso do "==0" como conserto? O código inteiro é mais de 600 linhas... Ainda não Mas segue as partes que tem "ret_Espacos". Vi um mano que tinha um problema parecido e ele disse que resolvendo referenciando as .libs ...
    	// Pega a 1 linha do arquivo 
    fgets(linha_arquivo,1000,arq_alarmes); 
	 
    while( !feof(arq_alarmes) ) { 
 
        // Horario 
        obter_nToken(linha_arquivo,horario,1);         
 
        // Nome do alarme 
        obter_nToken(linha_arquivo,idAlrm,2); 
 
        // Linha de comentario do arquivo, pula para outra linha 
        if(idAlrm[0] == '.' || idAlrm[0] == '-' || !strcmp(idAlrm, "Novo")){ 
            fgets(linha_arquivo,1000,arq_alarmes); 
            continue; 
        } 
 
        aux = obter_nToken(linha_arquivo,nome_equip,3);         
 
        // 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_ar	qINSERT_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); 
 
} // */