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

Metalbobinou 42 Messages postés mardi 17 avril 2007Date d'inscription 19 septembre 2012 Dernière intervention - 28 févr. 2009 à 04:37 - Dernière réponse : Metalbobinou 42 Messages postés mardi 17 avril 2007Date d'inscription 19 septembre 2012 Dernière intervention
- 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
SebLinck 212 Messages postés mardi 17 mai 2005Date d'inscription 23 juin 2011 Dernière intervention - 28 févr. 2009 à 13:10
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.

Merci SebLinck 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 93 internautes ce mois-ci

Commenter la réponse de SebLinck
SebLinck 212 Messages postés mardi 17 mai 2005Date d'inscription 23 juin 2011 Dernière intervention - 28 févr. 2009 à 13:08
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
Metalbobinou 42 Messages postés mardi 17 avril 2007Date d'inscription 19 septembre 2012 Dernière intervention - 28 févr. 2009 à 16:08
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.