2012-04-01 13 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!"); 
} 

グラム++ -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

これは本当にタブです。コマンドラインからbuildコマンドを実行すると出力が得られないので、g ++と思う。 –

+0

g ++はコマンドラインを渡さないと何も出力しませんか?または単に "g ++ -v"を実行してバージョン情報を取得しますか? mainが "int main(int argc、char * argv [])"と宣言されている以外、コードは正常に見えます。それはmingwの設定上の問題でなければなりません。 –

+0

g ++ -vが上記に追加されました。私がg ++を実行した場合、g ++:致命的なエラー:入力ファイルのコンパイルが終了していません。私がコマンドラインからビルドすると、空白行が1つ出て終了します。 –

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にカレントディレクトリを含めないでください。プログラムを実行するには、私の例では./の "現在のディレクトリにあるもの"を指定する必要があります。

関連する問題