2014-02-16 180 views
-2

我有這個簡單的Makefile,我用我的最後一個程序。然而,在這個當前的程序中,我正在使用C++ 11功能,並且可以用g++47 -std=c++0x test_list.cpp編譯我的程序,但是當我在Makefile中使用它時,它會帶來很多錯誤。C++ 11 Makefile不會編譯

文件:test_list.cppList.cppList.h

的Makefile:

proj2: test_list.o test_list.cpp List.h List.cpp 
     g++47 -std=c++0x test_list.cpp -g -Wall -o proj2.x 

clean: 
     rm -rf *o proj2 

然後我做的:make它編譯成噸的錯誤。

+0

由於您沒有顯示'噸的錯誤',很難知道發生了什麼。由於您提到它存在,因此您不編譯'List.cpp'是令人驚訝的。 –

回答

0

我只能猜測你給出的信息量。

proj2: test_list.o test_list.cpp List.h List.cpp 
    g++47 -std=c++0x test_list.cpp -g -Wall -o proj2.x 

您是否錯過了第二行開頭的換行符和製表符? (makefile是空白敏感的)。

爲什麼不粘貼你看到的錯誤列表..這將使它更容易幫助。

你沒有線建立對象文件test_list.o嗎? (即proj2目標依賴於test_list.o並且也構建它)。

+0

雅我有換行符,出於某種原因不會在這個編輯器中。它給了我很多錯誤,但是這是主要的錯誤:List.cpp:477:warning:擴展初始化程序列表僅在-std = C++ 0x或-std = gnu ++ 0x時可用。對不起,編輯錯誤,首先發布在SO ... – user3050491

+0

添加其中之一到您的命令行。 哦,你有:) –

+0

我將如何去做一個test_list.o ...我的程序在午夜到期,幫助!!!! – user3050491