2012-04-01 2 views
0

C++에서 간단한 hello world 앱을 만들지 만 컴파일되지 않습니다. 파일 main.cppMakefile이있는 C:\WiiGames\e3\ 폴더가 있습니다. 내 메이크 파일은 다음과 같습니다MinGW가 컴파일되지 않습니다. 오류 1

build: main.cpp 
    C:/MinGW/bin/g++.exe main.cpp -o e3.exe 

내 오류는 다음과 같습니다

C:\WiiGames\e3>make build 
C:/MinGW/bin/g++.exe main.cpp -o e3.exe 
make: *** [build] Error 1 

C:\WiiGames\e3> 

어떤 도움을 크게 감상 할 수있다.

내 코드 :

#include <iostream> 
#include <stdio.h> 
#include <string> 
#include <cmath> 
#include <cstdlib> 
#include <time.h> 

int main() { 
    printf("Hello World!"); 
} 

g ++ -v : 당신이 직접 명령 줄에서 g++.exe main.cpp -o e3.exe를 실행하면 어떻게됩니까

Using built-in specs. 
COLLECT_GCC=g++ 
COLLECT_LTO_WRAPPER=c:/mingw/bin/../libexec/gcc/mingw32/4.6.2/lto-wrapper.exe 
Target: mingw32 
Configured with: ../gcc-4.6.2/configure --enable-languages=c,c++,ada,fortran,objc,obj-c++ --disable-sjlj-exceptions --with-dwarf2 --enable-shared --enable-libgomp --disable-win32-registry --enable-libstdcxx-debug --enable-version-specific-runtime-libs --build=mingw32 --prefix=/mingw 
Thread model: win32 
gcc version 4.6.2 (GCC) 
+0

코드를 입력하면 대답하기가 훨씬 쉬울 것입니다. – iehrlich

+0

코드를 추가했습니다. –

답변

1

? 아무 일도 일어나지 않으면 g ++가 당신의 길에 있습니까? 나는 g ++이 설치되어 있고 경로에 있는지 확인함으로써 시작할 것입니다.

+0

절대적으로 아무것도. 오늘 MinGW를 새로 설치했습니다. –

1

c :/mingw ... 줄 앞에 make 파일에서 공백이 아닌 탭인지 확인하십시오. g ++가 아닌 오류를주는 것처럼 보입니다.

+0

실제로 탭입니다. 명령 줄에서 빌드 명령을 실행하면 출력이 나오지 않으므로 g ++이라고 생각합니다. –

+0

명령 줄을 전달하지 않으면 g ++에서 아무 것도 출력하지 않습니까? 또는 "g ++ -v"를 실행하여 버전 정보를 얻으시겠습니까? 메인이 일반적으로 "int main (int argc, char * argv [])"로 선언된다는 사실 외에도 코드는 정상적으로 보입니다.그것은 mingw와 셋업 이슈가되어야합니다. –

+0

g ++ -v가 위에 추가되었습니다. g ++을 실행하면 다음과 같이 표시됩니다. g ++ : 치명적인 오류 : 입력 파일 컴파일이 종료되지 않았습니다. 명령 줄에서 빌드하면 빈 줄이 하나 생겨 종료됩니다. –

0

이 경우 당신은 이미 (이 질문은 세 달 이상이다)이 파악되지 않은 :

g++ -v 

만하면 GCC에 대한 구성 정보를 제공합니다. 그것이 바로 당신이 얻는 것입니다.

g++ 

GCC를 호출하지만 GCC가 수행 할 작업을 알지 못하므로 오류 메시지가 표시됩니다.

g++ main.cpp -o e3.exe 

실제로 GCC에 문제의 프로그램을 컴파일하는 데 충분한 정보가 제공됩니다. 컴파일이 작동하는 경우 메시지를받지 않아야합니다.. GCC는 Rule of Silence을 따릅니다 ("프로그램이 아무런 놀람도 없을 때는 아무 말도하지 않아야합니다"). 따라서 성공적인 컴파일 결과가 출력되지 않습니다.

원래 게시 한 오류는 make입니다. (1) "make:"으로 시작하고 (2) GCC 오류가 훨씬 더 장황하기 때문에이를 알 수 있습니다. 프로그램을 컴파일하면 e3.exe 현재 디렉토리에 존재하는 경우

, 당신이 볼 수 ($로 시작하는 라인은 당신이 $하지 않고, 입력 무엇인가) :

$ g++ main.cpp -o e3.exe 
$ ls 
main.cpp e3.exe 
$ ./e3.exe 
Hello World! 

는 MinGW는 UNIX custom를 다음과 수행 PATH에 현재 디렉토리를 포함시키지 마십시오. 프로그램을 실행하려면 "현재 디렉토리에있는 디렉토리"를 지정해야합니다. 이는 내 예제에서 ./입니다.

관련 문제