Je suis en train d'apprendre C et parce que VC++ 2008 ne supporte pas les fonctionnalités C99, je viens d'installer NetBeans et de le configurer pour fonctionner avec MinGW. Je peux compiler un projet de fichier unique (main.c) et utiliser le débogueur mais quand j'ajoute un nouveau fichier au projet j'obtiens une erreur "référence indéfinie à ... fonction (code) dans ce fichier ..". Évidemment, MinGW ne lie pas mes fichiers ou je ne sais pas comment les ajouter correctement à mon projet (les fichiers de bibliothèque standard fonctionnent bien).Problème lors de la compilation du projet C/C++ dans NetBeans 6.8 avec MinGW sous Windows
/bin/make -f nbproject/Makefile-Debug.mk SUBPROJECTS= .build-conf
make[1]: Entering directory `/c/Users/don/Documents/NetBeansProjects/CppApplication_7'
/bin/make -f nbproject/Makefile-Debug.mk dist/Debug/MinGW-Windows/cppapplication_7.exe
make[2]: Entering directory `/c/Users/don/Documents/NetBeansProjects/CppApplication_7'
mkdir -p dist/Debug/MinGW-Windows
gcc.exe -o dist/Debug/MinGW-Windows/cppapplication_7 build/Debug/MinGW-Windows/main.o
build/Debug/MinGW-Windows/main.o: In function `main':
C:/Users/don/Documents/NetBeansProjects/CppApplication_7/main.c:5: undefined reference to `X'
collect2: ld returned 1 exit status
make[2]: *** [dist/Debug/MinGW-Windows/cppapplication_7.exe] Error 1
make[2]: Leaving directory `/c/Users/don/Documents/NetBeansProjects/CppApplication_7'
make[1]: *** [.build-conf] Error 2
make[1]: Leaving directory `/c/Users/don/Documents/NetBeansProjects/CppApplication_7'
make: *** [.build-impl] Error 2
BUILD FAILED (exit value 2, total time: 1s)
main.c
#include "header.h"
int main(int argc, char** argv)
{
X();
return (EXIT_SUCCESS);
}
header.h
#ifndef _HEADER_H
#define _HEADER_H
#include <stdio.h>
#include <stdlib.h>
void X(void);
#endif
source.c
#include "header.h"
void X(void)
{
printf("dsfdas");
}
Nous avons besoin du message d'erreur exact et du code dont se plaint le compilateur avant que nous ayons beaucoup d'aide. Il est à noter que MinGW ne prend pas en charge plusieurs grandes parties de l'API Windows. C'est peut-être le problème que vous rencontrez. –