Problème de compilation

Signaler
Messages postés
393
Date d'inscription
lundi 22 juin 2009
Statut
Membre
Dernière intervention
23 décembre 2011
-
Messages postés
3983
Date d'inscription
jeudi 14 juillet 2005
Statut
Membre
Dernière intervention
30 juin 2013
-
Bonjour,

J'ai un programme codé en c sous Microsoft Visual C++ 6.0 qui compile et s'éxecute bien.
J'ai essayé de compiler ce programme avec Dev-C++ 4.9.9.9 alors beaucoup des erreurs.
ces erreurs se situent dans les fichiers inclus "*.h"

le programme principal qui contient le "main" et les modules "*.h":

#include <stdio.h>
.................
..................

#include "cxt.h"

int main()
{
.............
.............
}


Les modules "*.h" ne contiennet pas de "main" seulment des fonctions.


Je voulais modifier un peu le code et le recompiler de nouveau avec Dev-C++.
Mais, la compilation ne se passe pas bien même avant de faire la modification.

Avez vous une solution ?


Merci.

2 réponses

Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
25
Un .h ne doit jamais contenir de fonctions mais seulement les protos.

ciao...
BruNews, MVP VC++
Messages postés
3983
Date d'inscription
jeudi 14 juillet 2005
Statut
Membre
Dernière intervention
30 juin 2013
13
(Pour compléter la réponse de BruNews)
Crée des fichiers sources séparés. Pour chacun de ces fichiers, crée un fichier .h qui contiendra les prototypes, typedefs et structures relatifs à ce morceau de code.

Exemple :

repcrt.h
#pragma once

typedef struct _repcrt_coord
{
  double x;
  double y;
} repcrt_coord;

typedef struct _repcrt_segment
{
  repcrt_coord p1;
  repcrt_coord p2;
} repcrt_segment;

double       repcrt_longueurSegment (repcrt_segment seg);
repcrt_coord repcrt_milieuSegment   (repcrt_segment seg);


repcrt.c
#include <math.h>
#include "repcrt.h"

double repcrt_longueurSegment (repcrt_segment seg)
{
  return sqrt(pow(seg.p1.x-seg.p2.x,2)+pow(seg.p1.y-seg.p2.y,2));
}

repcrt_coord repcrt_milieuSegment (repcrt_segment seg)
{
  repcrt_coord ret;
  ret.x = (seg.p1.x+seg.p2.x)/2;
  ret.y = (seg.p1.y+seg.p2.y)/2;
  return ret;
}

---
VB.NET is good ... VB6 is better