2014-02-16 231 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