LNK2005 et LNK1169, sur VS2008 avec SDL [Résolu]

Messages postés
42
Date d'inscription
mardi 17 avril 2007
Dernière intervention
19 septembre 2012
- - Dernière réponse : Metalbobinou
Messages postés
42
Date d'inscription
mardi 17 avril 2007
Dernière intervention
19 septembre 2012
- 28 févr. 2009 à 16:08
Bonjour, mes erreurs sont classiques d'apres google, mais je n'ai pas encore compris comment les resoudre... (meme en fouiannt un peu)...
Je connais vite fais le C/UNIX, mais pas le C/Windows via Visual Studio... donc je em suis alnce dans un p'tit projet avec SDL !
Pour le moment je veux juste que ca "compile"... :P

Mais j'ai ca en erreur :

1>------ Début de la génération : Projet : Tayst, Configuration : Debug Win32 ------
1>Compilation en cours...
1>init.c
1>main.c
1>Génération de code en cours...
1>Édition des liens en cours...
1>main.obj : error LNK2005: _proj_init déjà défini(e) dans init.obj
1>main.obj : error LNK2005: _proj_stop déjà défini(e) dans init.obj
1>C:\Documents and Settings\HP_Administrateur\Mes documents\Visual Studio 2008\Projects\Tayst\Debug\Tayst.exe : fatal error LNK1169: un ou plusieurs symboles définis à différentes reprises ont été rencontrés
1>Le journal de génération a été enregistré à l'emplacement "file://c:\Documents and Settings\HP_Administrateur\Mes documents\Visual Studio 2008\Projects\Tayst\Tayst\Debug\BuildLog.htm"
1>Tayst - 3 erreur(s), 0 avertissement(s)
======== Génération : 0 a réussi, 1 a échoué, 0 mis à jour, 0 a été ignoré ==========



Mon code est "tres simple" :
- main.c :

#include "init.c"

int main(int argc, char *argv[])
{
int i;

i=proj_init();

i=proj_stop();
return 0;
}



- init.c :

#include "init.h"

int proj_init()
{
// Chargement de la vidéo, de l'audio et du timer
SDL_Init(SDL_INIT_VIDEO | SDL_INIT_AUDIO | SDL_INIT_TIMER);
return 0;
}



int proj_stop()
{
SDL_Quit();
return 0;
}



-init.h :

#ifndef INIT_H
#define INIT_H

#include <stdlib.h>
#include <stdio.h>
#include <SDL/SDL.h>


int proj_init();
int proj_stop();

#endif



Je ne vois pas trop les problemes :/
J'ai lie des trucs qu'il en fallait pas lier ?

J'en ai eu un autre avant... mais il etait lie a SDL je crois (et il arrivera probablement quand celui la sera regle :P)

Merci d'avance :)
Afficher la suite 

Votre réponse

3 réponses

Meilleure réponse
Messages postés
212
Date d'inscription
mardi 17 mai 2005
Dernière intervention
23 juin 2011
3
Merci
Non, dans le main tu inclus le fichier init.c ...
normalement c'est (les déclarations des fonctions qui sont inclusent ( init.h )

Cordialement,
Sébastien.

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 106 internautes ce mois-ci

Commenter la réponse de SebLinck
Messages postés
212
Date d'inscription
mardi 17 mai 2005
Dernière intervention
23 juin 2011
0
Merci
Salut,

Je crois que ta fonction : _proj_init
est définie dans init.c et main.c.

Cordialement,
Sébastien.
Commenter la réponse de SebLinck
Messages postés
42
Date d'inscription
mardi 17 avril 2007
Dernière intervention
19 septembre 2012
0
Merci
Merci beaucoup ! Effectivement !

Il fallait simplement que dans main.c je fasse : #include "init.h"
Et dans init.c : #include "init.h"

J'avais oublie l'ordre des includes ! :D
Meric beaucoup beaucoup ! :)
Commenter la réponse de Metalbobinou

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.