VC를 배우고 있는데 VC++ 2008에서 C99 기능을 지원하지 않기 때문에 방금 NetBeans를 설치하고 MinGW에서 작동하도록 구성했습니다. 나는 하나의 파일 프로젝트 (main.c)를 컴파일하고 디버거를 사용할 수 있지만 프로젝트에 새 파일을 추가 할 때 "정의되지 않은 참조가 ... 해당 파일의 함수 (코드)에 오류가 발생합니다.". 분명히 MinGW는 내 파일을 링크하지 않거나 제대로 프로젝트에 추가하지 못합니다 (C 표준 라이브러리 파일은 정상적으로 작동합니다).Windows에서 MinGW를 사용하여 NetBeans 6.8에서 C/C++ 프로젝트를 컴파일하는 데 문제가 있습니다.
/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");
}
우리는 많은 도움이되기 전에 정확한 오류 메시지와 컴파일러가 불평하는 코드가 필요합니다. MinGW는 Windows API의 몇 가지 큰 부분에 대한 지원이 누락되었습니다. 아마도 그것이 당신이 겪고있는 문제 일 것입니다. –