2010-12-01 20 views
0

J'utilise Dev-C++ sur Windows Vista. J'ai 3 fichiers situés dans le même répertoire. Ils sont:Problème lors de la compilation du fichier d'en-tête auto-créé en utilisant Dev-C++?

- math_functions.h 
- math_functions.c 
- test3.c 

Code math_functions.h:

int sum  (int x, int y); 
float average (float x, float y, float z); 

Code math_functions.c:

int sum (int x, int y) 
{ 
    return (x + y); 
} 

float average (float x, float y, float z) 
{ 
    return (x + y + z)/3; 
} 

Code test3.c:

#include <stdio.h> 
#include "math_functions.h" 

main() 
{ 
    int theSum  = sum (8, 12); 
    float theAverage = average (16.9, 7.86, 3.4); 

    printf ("the sum is: %i ", theSum); 
    printf ("and the average is: %f \n", theAverage); 
    printf ("average casted to an int is: %i \n", (int)theAverage); 
} 

Il ne peut pas compiler . Le message d'erreur que je reçois est:

C:\Users\eSum\AppData\Local\Temp\ccKmdaaa.o(.text+0x3a) In function `main': 
[Linker error] undefined reference to `sum' 
[Linker error] undefined reference to `average' 
C:\Users\eSum\AppData\Local\Temp\ccKmdaaa.o(.text+0x3a) ld returned 1 exit status 

J'utilise le même compilation de code exact dans ubuntu (. Je lance ubuntu en utilisant la machine virtuelle i, e vmplayer), il a compilé sans erreurs. Dois-je définir quoi que ce soit dans Dev-C++ pour compiler les fichiers?

+1

Veuillez ne pas utiliser Dev-C++: http://www.jasonbadams.net/20081218/why-you-shouldnt-use-dev-c/ –

+0

Bonjour Karl, qu'est-ce que vous utilisez pour le développement en C/C++? Je suis nouveau, je viens de commencer le C/C++ aujourd'hui. Mon conférencier ne limite pas les logiciels que nous pouvons utiliser. Toute recommandation cool IDE (le plus important: "facile à compiler") pour moi? – cpgamer818

Répondre

0

Dev-C++ ne semble pas être lier math_function.c avec test3.c lors de ce text3.exe est un problème de configuration dans Dev-C++ vous avez très probablement besoin d'ajouter math_function.c au projet Dev-C++

+0

Je vois. Savez-vous comment le résoudre? – cpgamer818

+0

Je n'ai pas utilisé cette chose depuis des années, et préfère utiliser cygwin ou msys –

+0

Cygwin ou msys? Si je ne me trompe pas, j'écris les codes C/C++ dans n'importe quel éditeur de code, puis j'ouvre la ligne de commande (CMD dans Windows) et compile, n'est-ce pas? – cpgamer818

0

Le problème ne concerne pas le fichier d'en-tête, mais les paramètres de votre projet. Vous devez ajouter math_functions.c au projet pour qu'il soit compilé et lié à test3.c.