[C] Probleme de declarartion multiple

Fermé
Tisiph0n3 - 5 déc. 2007 à 02:08
 Tisiph0n3 - 5 déc. 2007 à 15:42
Bonjour,
ça fait dejà une heure que je cherche mais je vois vraiment pas quand j'essaie de compiler mon programme j'obtiens le message d'erreur suivant:
/u/all/******/rendu/lib/my/libmy.a(my_strcat.o)(.text+0x58): In function `main':
: multiple definition of `main'
/var/tmp//ccKlc9GT.o(.text+0x173):/u/epitech_2012/******/cu/rendu/c/my_ls/main.c:62: first defined here
/usr/bin/ld: Warning: size of symbol `main' changed from 180 in /var/tmp//ccKlc9GT.o to 131 in /u/all/******/rendu/lib/my/libmy.a(my_strcat.o)
collect2: ld returned 1 exit status
*** Error code 1

j'ai vraiment du mal a voir le probleme je suppose que c'est le .h qui fout la merde car j'ai déjà eu ce pb et c'était le .h qui merdait ou encore une * avant un header, voila le contenu du .h

#ifndef __MY__
#define __MY__
#include <sys/types.h>
#include <sys/stat.h>
#include <stdio.h>
#include <pwd.h>
#include <grp.h>
#include <time.h>
#include <stdlib.h>

/*dependances*/
void my_putchar(char c);
int my_put_nbr(int nb);
int my_strlen(char str);
int my_nbrlen(int nb);
int my_getnbr(char *str);
char *my_malloc(int size);
int my_putstr_len(int deb, char *str, int fin);
char *my_strcat(char *str1, char *str2);

/*infos sur les fichiers*/
int print_type(int mod);
int print_rights(int mod);
int n_links(int nlink);
int file_owner(int uid, int gid);
int file_size(int size);
int last_mod(int mtime);

/*partie principale + options*/
char *str_options(int argc, char **argv);
char *get_options(char *str);
int my_ls(char *option, char *name);

#endif

Merci ;)

5 réponses

Bonjour

D'après les messages, ce serait plutôt dans le libmy.c (ou libmy.a?) que tu redéfinis main. C'est quoi ce libmy ?
0
Libmy c'est une librairie perso je vais regarder ça, mais ça m'étonne vraiment car je l'utilise a chaque fois et j'ai jamais eu ce pb jusqu'a maintenant
0
Après verification des sources de ma lib et des sources du programme je peux affirmer que main n'est déclaré qu'une seule fois, et j'ai toujours le message d'erreur mm après recompilation de la lib.
Si quelqu'un a une idée ;)
0
Peux-tu montrer le code *complet* de my_strcat.c?
as-tu une idée de ce que c'est que ce fichier ccKlc9GT.o dont il est question dans le message d'erreur (fichier temporaire ?)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
C'est bon le probleme est reglé merci en fait le makefile qui était censé compiler la lib était foireux et je me souviens avoir enlevé il y a de cela un mois un main de strcat.c
Merci pr votre aide ;)
0